zoukankan      html  css  js  c++  java
  • [Cocos2d-x For WP8]ActionManager动作管理

        在Cocos2d-x里面可以通过CCActionManger类来管理动作的暂停和恢复,CCActionMessage是管理所有Action的单例,一般情况下并不直接使用这个单例,而是使用CCNode的接口,但是假如你想操作的目标不是CCNode的子类或者你想暂停/恢复动作就要使用到CCActionMessager。

    CCActionManger类是一个单例模式的类来的,我们可以通过下面的方式来获取动作管理类的实例:

        CCDirector* pDirector = CCDirector::sharedDirector();
        pDirector->getActionManager()->resumeTarget(pGrossini);

        那么在使用CCActionManger类来管理动作的暂停的逻辑必须放在在onEnter()方法里面,否则将不会起作用。

    下面演示当点击屏幕的时候,先暂停3秒钟,然后再播放动画:

    class ResumeTest : public cocos2d::CCLayer
    {
    public:
        ResumeTest();
        ~ResumeTest();
        virtual void onEnter();
        void resumeCat(float time);
    };
    
    void ResumeTest::onEnter()
    {
        CCLayer::onEnter();
        CCSize size = CCDirector::sharedDirector()->getWinSize();
        CCSprite* pGrossini = CCSprite::create("cat.png");
        addChild(pGrossini, 0, 1);
        pGrossini->setPosition( ccp(size.width * 0.5, size.height * 0.5) );
    
        pGrossini->runAction(CCScaleBy::create(5, 3));
    
        CCDirector* pDirector = CCDirector::sharedDirector();
        //暂停目标精灵的动作
        pDirector->getActionManager()->pauseTarget(pGrossini);
        pGrossini->runAction(CCRotateBy::create(10, 360));
    
        this->schedule(schedule_selector(ResumeTest::resumeCat), 3.0f);
    }
    
    
    void ResumeTest::resumeCat(float time)
    {
        this->unschedule(schedule_selector(ResumeTest::resumeCat));
        CCNode* pGrossini = getChildByTag(1);
        CCDirector* pDirector = CCDirector::sharedDirector();
        //运行目标精灵的动作
        pDirector->getActionManager()->resumeTarget(pGrossini);
    }

    在helloworld页面添加点击事件的处理:

    void HelloWorld::ccTouchesEnded(CCSet* touches, CCEvent* event)
    {
        CCScene * scene = new CCScene();
        CCLayer* pLayer =new ResumeTest();
        scene->addChild(pLayer);
        CCDirector::sharedDirector()->replaceScene(scene);
        scene->autorelease();
    }

    运行的效果:

  • 相关阅读:
    PHP操作MongoDB GridFS 存储文件
    使用PHP来开发MongoDB并在shell查看数据
    MongoDB之PHP驱动安装配置
    MongoDB之GridFS存储文件
    laya 下以光标为中心缩放对象
    canvas 鼠标位置缩放图形
    gunicorn 基础配置使用
    keras 学习笔记:从头开始构建网络处理 mnist
    web 上读取图片,并转化为指定格式
    oracle 正则表达的使用
  • 原文地址:https://www.cnblogs.com/linzheng/p/3279811.html
Copyright © 2011-2022 走看看