这篇文章,主要介绍的是Cocos2D的一些普遍使用的action的用法。
所谓action,就是一些行为动作。譬如,在游戏制作中,每个会动的事物,我们都把它命名为精灵(Sprite)。而Sprite的动作,则称作action。在这也就不跟大家多做其他解释了。本文章主要讲的是这几种action——CCMoveTo、CCRotateTo、CCScaleTo、CCBlink、CCFlipX、CCFlipY、CCHide、CCShow、CCSpawn、CCSequence、CCFadeOut、CCFadeIn
CCMoveTo——移动至目标点
主要有两个参数,第一个参数是移动的时间,第二个参数是目标位置,既目标点
sprite = CCSprite.sprite("player.png");
this.addChild(sprite);
sprite.setPosition(100, 100);
CGPoint point = CGPoint.ccp(400, 400);
CCMoveTo moveTo = CCMoveTo.action(3, point);
sprite.runAction(moveTo);
CCRotateTo——旋转至指定角度
主要有两个参数,第一个是旋转的时间,第二个是旋转的角度,如果角度是负的,则逆向旋转,反之则正向旋转
CCRotateTo rotateTo = CCRotateTo.action(2, -180);
sprite.runAction(rotateTo);
CCScaleTo——缩放至指定倍数
主要有两个参数,第一个是缩放的时间,第二个是缩放倍数,=1正常大小,>1放大,<1缩小
CCScaleTo scaleTo = CCScaleTo.action(3, 2);
sprite.runAction(scaleTo);
CCBlink——闪烁
主要有两个参数,第一个是闪烁时间,第二个是闪烁的次数
CCBlink blink = CCBlink.action(4, 10);
sprite.runAction(blink);
CCFlipX/CCFilpY——X轴镜像旋转/Y轴镜像旋转
都只有一个参数,即true or false,如果为真,则沿x/y旋转,假则反之
CCFlipY fiFlipY = CCFlipY.action(true);
sprite.runAction(fiFlipY);
CCShow/CCHide——显示/隐藏
没有参数。在制作游戏的过程中,使用CCHide的概率会比较多。如当你遇到一个怪物时,进入战斗画面,当战斗结束时,怪物就被隐藏了
CCHide hide = CCHide.action();
sprite.runAction(hide);
CCSpawn——多个动作同时执行
CCSpawn.actions后面可以加多个参数
CGPoint targetPoint = CGPoint.ccp(300, 300);
CCMoveTo moveTo = CCMoveTo.action(2, targetPoint);
CCRotateTo rotateTo = CCRotateTo.action(2, 180);
CCSpawn spawn = CCSpawn.actions(moveTo, rotateTo);
sprite.runAction(spawn);
CCSequence——顺序执行多个动作(多个动作先后执行)
CCSequence.actions后面可以加多个参数
CCSequence seq = CCSequence.actions(moveTo, rotateTo, scaleTo);
sprite.runAction(seq);
CCFadeOut/CCFadeIn——淡出/淡入效果
只有一个参数,为淡出/淡入时间
CCFadeOut fadeOut = CCFadeOut.action(3);
player.runAction(fadeOut);