zoukankan      html  css  js  c++  java
  • 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) 
    {
    
    }
  • 相关阅读:
    Codeforces Round #578 (Div. 2)
    Educational Codeforces Round 70
    Codeforces Round #576 (Div. 1)
    The 2019 ICPC China Nanchang National Invitational and International Silk-Road Programming Contest
    Educational Codeforces Round 69
    Codeforces Global Round 4
    Codeforces Round #574 (Div. 2)
    Educational Codeforces Round 68
    Codeforces Round #573 (Div. 1)
    The Preliminary Contest for ICPC China Nanchang National Invitational
  • 原文地址:https://www.cnblogs.com/yufenghou/p/3992028.html
Copyright © 2011-2022 走看看