1. 动作Action概述
Actions继承了CCNode的属性,可以让对象进行移动、缩放、旋转等。
Actions分为两种,一种为CCIntervalAction actions(延时动作),即动作持续一段时间;另外一种为CCInstantAction actions(瞬时动作),即动作瞬时间发生。
例如:
//将一个精灵的x坐标向右移动20像素,y坐标向上移动30像素,在3秒之内
CCActionInterval* actionBy=CCMoveBy::create(3,ccp(20,30));
可以通过CCActionManager来暂停和恢复所有actions,示例代码如下:
//暂停动作
CCDirector* director=CCDirector::sharedDirector();
m_pPausedTargets=director->getActionManager()->pauseAllRunningActions();
//恢复暂停
CCDirector* director=CCDirector::sharedDirector();
director->getActionManager()->resumeTargets(m_pPausedTargets);
2. 动作代码实例
具体的动作包括哪些,可以查看官方文档。
下面说明两点:
(1)CCMoveBy和CCMoveTo的区别
CCMoveBy表示移动多少距离,CCMoveTo表示移动到哪里。
(2)将精灵1秒之内移动到cpp(200,300)
CCSprite* sprite=CCSprite::create("Hello.png");
sprite->setPosition(ccp(100,100));
this->addChild(sprite);
CCMoveTo* act=CCMoveTo::create(1,ccp(200,300));
sprite->runAction(act);
各位看官可以类推到其他动作上面去。