首页 > 代码库 > cocos2d 动作切换

cocos2d 动作切换

#include "HelloWorldScene.h"USING_NS_CC;CCScene* HelloWorld::scene(){    CCScene *scene = CCScene::create();    HelloWorld *layer = HelloWorld::create();    scene->addChild(layer);    return scene;}bool HelloWorld::init(){    if ( !CCLayer::init() )    {        return false;    }        CCSize winSize = CCDirector::sharedDirector()->getVisibleSize();    CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();    CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("hero.plist");    tank=    CCSprite::createWithSpriteFrameName("hero_1.png");    tank->setPosition(ccp(winSize.width/2,winSize.height/2));    addChild(tank);    initCreep();    this->scheduleOnce(schedule_selector(HelloWorld::start), 3.0f);     this->scheduleOnce(schedule_selector(HelloWorld::stop), 6.0f);     this->scheduleOnce(schedule_selector(HelloWorld::restart), 9.0f);     this->scheduleUpdate();     return true;}void HelloWorld::initCreep(){    CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("hero.plist");    }void HelloWorld::start(float t) {    CCLOG("start");    CCAnimation* animation=CCAnimation::create();    CCSpriteFrame* frame1 = CCSpriteFrameCache::sharedSpriteFrameCache()        ->spriteFrameByName("hero_1.png");    animation->addSpriteFrame(frame1);    CCSpriteFrame* frame2 = CCSpriteFrameCache::sharedSpriteFrameCache()        ->spriteFrameByName("hero_2.png");     animation->addSpriteFrame(frame2);    animation->setDelayPerUnit(0.1);    animation->setRestoreOriginalFrame(true);    creep=CCRepeatForever::create(CCAnimate::create(animation));    tank->runAction(creep);}void HelloWorld::restart(float t) {    CCLOG("restart");    CCAnimation* animation=CCAnimation::create();    CCSpriteFrame* frame1 = CCSpriteFrameCache::sharedSpriteFrameCache()        ->spriteFrameByName("hero_1.png");    animation->addSpriteFrame(frame1);    CCSpriteFrame* frame2 = CCSpriteFrameCache::sharedSpriteFrameCache()        ->spriteFrameByName("hero_2.png");     animation->addSpriteFrame(frame2);    animation->setDelayPerUnit(0.1);    animation->setRestoreOriginalFrame(true);    creep=CCRepeatForever::create(CCAnimate::create(animation));    tank->runAction(creep);}void HelloWorld::stop(float t) {    CCLOG("stop");    tank->stopAction(creep);}void HelloWorld::update(float t) {}

 

cocos2d 动作切换