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) 
    {
    
    }
  • 相关阅读:
    Ajax中XML和JSON格式的优劣比较
    多语言的网站怎么做呀
    asp.net 2.0多语言网站解决方案
    FrameSet 与 IFrame 彻底剖析
    概要设计说明书
    用C#如何实现大文件的断点上传!
    PowerDesigner生成sql生成不了
    TransactionScope的正确用法
    iframe
    动网转型网游一年获得成功:每月盈利超500万
  • 原文地址:https://www.cnblogs.com/yufenghou/p/3992028.html
Copyright © 2011-2022 走看看