runaction 旋转_cocos2d中各种action方法的应用

Action示例:

1、移动动作

cc.MoveBy:create(time, posX, posY)  在time时间内,相对当前位置基础上移动x,y个单位。

cc.MoveTo:create(time, posX, posY)  在time时间内,移动到cc.p(posX, posY)位置。

2、缩放动作

cc.ScaleBy:create(time, scaleX, scaleY) 在time时间内,相对当前大小缩放scale(scaleX, scaleY)个单位

cc.ScaleTo:create(time, scaleX, scaleY) 在time时间内,缩放到scale(scaleX, scaleY)大小

3 斜歪动作 (skew 和 rotate 的区别是一个是压缩倾斜旋转(形状会变), 一个是正常旋转(形状不变))

cc.SkewTo:create(time, angleX, angleY)  在time时间内,压缩倾斜至angleX, angleY角度 (形状会变)

cc.SkewBy:create(time, angleX, angleY)  在time时间内,相对当前角度压缩倾斜angleX, angleY角度(形状会变)

4、旋转动作

cc.RatoteTo:create(time, angleX, angleY)  在time时间内,旋转至angleX, angleY角度(形状不变)

cc.RatoteBy:create(time, angleX, angleY)  在time时间内,相对当前角度旋转angleX, angleY角度(形状不变)

5、变色动作

cc.TintTo:create(time, colorR, colorG, colorB)  --第一个参数代表时间, 2-4参数代表颜色RGB

6、 闪烁运动

cc.Blink:create(time,num)  -- 创建两个闪烁动作,第一个参数为持续时间,第二个参数为闪烁次数

7、球面旋转 OrbitCamera类 (action视角按照球面坐标轨迹 围绕屏幕中心进行旋转)

cc.OrbitCamera:create(2, 1, 0, 0, 180, 0, 0) -- 创建一个带有起始半径、半径差、起始z角、旋转z角的差、起始x角、旋转x角的差 这些参数的运动视角动作类

总结:xxxTo移动到绝对位置, xxxBy移动一个相对位置, 并且所有的xxxBy动作都有对应的reverse方法。

代码示例:

1 local ActionTest = class("ActionTest", BaseView)2

3 functionActionTest:ctor()4 self.root =cc.Layer:create()5 self:addToUiGroup(self.root)6 UITools.alignCenter(self.root)7 end

8

9 --------------------------------------

10 --ActionSkewRotate

11 --歪斜+旋转+缩放+变色+闪烁

12 --skew 和 rotate 的区别是一个是倾斜旋转, 一个是正常旋转

13 --------------------------------------

14 functionActionTest:ActionSkewRotate()15

16 --盒子大小

17 local boxSize = cc.size(200.0, 200.0)18 --层颜色,第1、2、3分别为红绿篮颜色值,第4个为透明度值

19 local box = cc.LayerColor:create(cc.c4b(255, 255, 0, 255))20 --设置锚点

21 box:setAnchorPoint(cc.p(0, 0))22 --设置位置

23 box:setPosition(0, 0)24 --设置内容大小

25 box:setContentSize(boxSize)26

27 --标记大小

28 local markrside = 30.0

29 local uL = cc.LayerColor:create(cc.c4b(255, 0, 0, 255))30 box:addChild(uL)31 uL:setContentSize(cc.size(markrside, markrside))32 uL:setPosition(0, boxSize.height -markrside)33 uL:setAnchorPoint(cc.p(0, 0))34

35 local uR = cc.LayerColor:create(cc.c4b(0, 0, 255, 255))36 box:addChild(uR)37 uR:setContentSize(cc.size(markrside, markrside))38 uR:setPosition(boxSize.width - markrside, boxSize.height -markrside)39 uR:setAnchorPoint(cc.p(0, 0))40 self.root:addChild(box)41

42 --斜歪动作

43 local skewTo = cc.SkewTo:create(2, 0, 10)44

45 --旋转动作

46 local rotateTo = cc.RotateTo:create(2, 61, 0)47

48 --缩放动作

49 local actionScaleTo = cc.ScaleTo:create(2, -0.44, 0.47)50

51 --变色动作

52 local tinkTo = cc.TintTo:create(2, -127, -255, -127)53

54 --闪烁运动

55 local blink = cc.Blink:create(2,5)56

57 --OrbitCamera类 :action 视角按照球面坐标轨迹 围绕屏幕中心进行旋转

58 --创建一个带有起始半径、半径差、起始z角、旋转z角的差、起始x角、旋转x角的差 这些参数的运动视角动作类

59 --local orbitTo = cc.OrbitCamera:create(2, 1, 0, 0, 180, 0, 0)

60

61 local actionScaleToBack = cc.ScaleTo:create(2, 1.0, 1.0)62 local rotateToBack = cc.RotateTo:create(2, 0)63 local skewToBack = cc.SkewTo:create(2, 0, 0)64 local tinkBack = cc.TintTo:create(2, 255, 255, 0)65

66 local spawnTo =cc.Spawn:create(skewTo, rotateTo, actionScaleTo, tinkTo, blink)67 local spawnBack =cc.Spawn:create(actionScaleToBack, rotateToBack, skewToBack, tinkBack)68 local sequence =cc.Sequence:create(spawnTo, spawnBack)69 box:runAction(cc.RepeatForever:create(sequence))70

71 end

72

73 return ActionTest

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值