#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)
{
}