#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) { }
时间: 2024-10-23 15:50:39