cocos2dx的runAction

cocos2dx的 runAction,如果某个动作反复执行用cc.RepeatForever:create, 多个动作连接执行用cc.Sequence:create,多个动作同时执行用cc.Spawn:create.

重复执行某个动作cc.RepeatForever:create

?

1
2
3
4
5
6
local action = cc.FadeOut:create( 3 )--淡出
local action = cc.FadeIn:create( 3 ) -- 渐入
local action = cc.RotateBy:create( 3.0 , 360 ) -- 旋转
local action = cc.ScaleTo:create( 3 , 0.1 ) --  缩放
 
cc.RepeatForever:create(某动作)--一个动作不断重复执行用



 

 

多个动作的runAction

一个执行完毕后再连接另一个,用cc.Sequence:create

?

1
2
3
4
5
6
7
local sprite2 = cc.Sprite:create(img/equipment/background_root.png)
  sprite2:setPosition(cc.p(visibleSize.width/ 2 , visibleSize.height/ 4 ))
  mlayer:addChild(sprite2, 10 )
 
  local action = cc.FadeOut:create( 3 )--淡出
  local action2 = cc.FadeIn:create( 3 ) -- 渐入
  sprite2:runAction(cc.Sequence:create(action,action2,action))



多个动作同时变化,用cc.Spawn:create

?

1
sprite:runAction(cc.Spawn:create(cc.RotateBy:create( 3.0 , 360 ),cc.ScaleTo:create( 3 , 0.1 )))




------------------------------------- 实例示范:

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
local screen = cc.Director:getInstance():getRunningScene()
local action1 = cc.ScaleTo:create( 0.5 , 1 ) --放大 参数:时间和缩放尺寸
local action2 = cc.MoveTo:create( 0.5 , ccp( 300 , 330 )) --移动到某位置
local action3 = cc.ScaleTo:create( 0.2 , 0.6 ) --缩小 参数:时间和缩放尺寸
local action4 = cc.FadeOut:create( 2 )--淡出
local action5 = cc.MoveTo:create( 2 , ccp( 300 , 450 )) --移动到某位置
 
 
--复位 以便让动画重复
local action6 = cc.FadeIn:create( 0.01 )--渐入
local action7 = cc.MoveTo:create( 0.01 , ccp( 300 , 300 )) --移动到某位置
 
local sprite = cc.Sprite:create(fonts/number_green.png)
sprite:setTextureRect(cc.rect( 120 , 0 , 120 , 28 ) )
sprite:setPosition( 300 , 300 )
sprite:setAnchorPoint(ccp( 0.5 , 0 ))
sprite:setScale( 0.6 )
-- sprite:runAction(action1)--runAction执行一个动作
-- sprite:runAction(cc.Spawn:create(action1,action2))--cc.Spawn:create同时执行多个动作
-- sprite:runAction(cc.Sequence:create(cc.Spawn:create(action1,action2),action3,cc.Spawn:create(action4,action5)))--cc.Sequence:create循序执行多个动作
sprite:runAction(cc.RepeatForever:create(cc.Sequence:create(cc.Spawn:create(action1,action2),action3,cc.Spawn:create(action4,action5),cc.Spawn:create(action6,action7))))--cc.RepeatForever:create(某动作)重复执行某个动作
 
screen:addChild(sprite)


转载于:https://my.oschina.net/u/2276921/blog/536591

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值