本文介绍的是Cocos学习笔记 Cocos2d 各种动作介绍,主要讲述了几个常用的动作。我们先来看内容。
Cocoa学习笔记 Cocos2d 各种动作是本文呀介绍的内容,本篇文章分为上下两篇,请友们不要忘了下篇内容,请关注。我们来看内容。
通常调用某个动作的方法:
- //创建动作
- idactionTo=[CCMoveToactionWithDuration:2position:ccp(s.width-40,s.height-40)];
- //使用动作。(说明:tamara是一个CCSprite。)
- [tamararunAction:actionTo];
瞬时动作
顾名思义。瞬时动作就是不需要时间,马上就完成的动作。瞬时动作的共同基类是 InstantAction。
放置 – Place
效果类似于 node.Position = ccp(x, y)。之所以作为一个动作来实现是为了可以与其他动作形成一个连续动作。
示例:
- (void)OnPlaceMenue:(id)sender{
- CGSizes=[[CCDirectorsharedDirector]winSize];
- CGPointp=ccp(CCRANDOM_0_1()*s.width,CCRANDOM_0_1()*s.height);
- [spriterunAction:[CCPlaceactionWithPosition:p]];
- }
隐藏 – Hide
效果类似于 [node setVisible:NO].
示例:
- (void)OnHideMenue:(id)sender{
- [spriterunAction:[CCHideaction]];
- }
显示 – Show
效果类似于 [node setVisible:YES].
示例:
- (void)OnShowMenue:(id)sender{
- [spriterunAction:[CCShowaction]];
- }
可见切换 – ToggleVisibility 代码如下:
- (void)OnToggleMenue:(id)sender{
- [spriterunAction:[CCToggleVisibilityaction]];
- }
延时动作
延时动作就是动作的完成需要一定时间。因此,actionWithDuration 是延时动作执行时的***个参数,延时动作的共同基类是 CCIntervalAction。
函数的命名规则:
***To: 意味着运动到指定的位置。
***By:意味着运动到按照指定癿 x、y 增量的位置。(x、y 可以是负值)
移动到 – CCMoveTo
移动– CCMoveBy
跳跃到 – CCJumpTo
设置终点位置和跳跃癿高度和次数。
跳跃 – CCJumpBy
设置终点位置和跳跃癿高度和次数。
贝塞尔 – CCBezierBy
支持 3 次贝塞尔曲线:P0-起点,P1-起点切线方向,P2-终点切线方向,P3-终点。
首先设置定 Bezier 参数,然后执行。
放大到 – CCScaleTo
设置放大倍数,是浮点型。
放大 – CCScaleBy
旋转到 – CCRotateTo
旋转 – CCRotateBy
闪烁 – CCBlink
设定闪烁次数
色调变化到 – CCTintTo
色调变换 – CCTintBy
变暗到 – CCFadeTo
由无变亮 – CCFadeIn
由亮变无 – CCFadeOut
组合动作
按照一定的次序将上述基本动作组合起来,形成连贯的一套组合动作。组合动作包括以 下几类:
序列 – CCSequence
主要作用就是线序排列若干个动作,然后按先后次序逐个执行。
- (void)OnSequence:(id)sender{
- CGSizes=[[CCDirectorsharedDirector]winSize];
- CGPointp=ccp(s.width/2,50);
- //创建5个动作
- idac0=[spriterunAction:[CCPlaceactionWithPosition:p]];
- idac1=[CCMoveToactionWithDuration:2position:ccp(s.width-50,s.height-50)];
- idac2=[CCJumpToactionWithDuration:2position:ccp(150,50)height:30jumps:5];
- idac3=[CCBlinkactionWithDuration:2blinks:3];
- idac4=[CCTintByactionWithDuration:0.5red:0green:255blue:255];
- //将5个动作组合为一个序列,注意不要忘了用nil结尾。
- [spriterunAction:[CCSequenceactions:ac0,ac1,ac2,ac3,ac4,ac0,nil]];
- }
同步 – Spawn Spawn
作用就是同时并列执行若干个动作,但要求动作都必须是可以同时执行的。比如:移动式翻转、变色、变大小等。
需要特别注意的是,同步执行***的完成时间由基本动作中用时***者决定。
- (void)OnSpawn:(id)sender{
- CGSizes=[[CCDirectorsharedDirector]winSize];
- CGPointp=ccp(s.width/2,50);
- sprite.rotation=0;
- [spritesetPosition:p];
- //创建4个需要并行的动作,确保动作用时可组合。2–2-(1+1)
- idac1=[CCMoveToactionWithDuration:2position:ccp(s.width-50,s.height-50)];
- idac2=[CCRotateToactionWithDuration:2angle:180];
- idac3=[CCScaleToactionWithDuration:1scale:4];
- idac4=[CCScaleByactionWithDuration:1scale:0.5];
- idseq=[CCSequenceactions:ac3,ac4,nil];
- //同步动作和组合动作以形成一个连续的新动作。
- [spriterunAction:[CCSpawnactions:ac1,ac2,seq,nil]];
- }
小结:关于Cocoa学习笔记 Cocos2d 各种动作介绍 (上)的内容介绍完了,希望本文对你有所帮助,请继续关注 Cocoa学习笔记 Cocos2d 各种动作介绍 (下)
【编辑推荐】
- 解析Cocos2d项目整体框架和启动流程
- 浅谈Cocoa Touch国际化
- Cocoa基本原理指南 Cocoa对象 生命周期
- Cocoa 基本原理指南 内省介绍
- Cocoa 基本原理指南 Cocoa自我介绍