关于Sequence调用一系列动作不能执行的问题

local textureone=cc.Director:getInstance():getTextureCache():addImage("1.png")
local rect1=cc.rect(0,0,30,36)
local frame1=cc.SpriteFrame:createWithTexture(textureone,rect1)

local texturetwo=cc.Director:getInstance():getTextureCache():addImage("2.png")
local rect2=cc.rect(0,0,30,36)
local frame2=cc.SpriteFrame:createWithTexture(texturetwo,rect2)

local texturethree=cc.Director:getInstance():getTextureCache():addImage("3.png")
local rect3=cc.rect(0,0,30,36)
local frame3=cc.SpriteFrame:createWithTexture(texturethree,rect3)
farmeSprite=cc.Sprite:createWithSpriteFrame(frame1)
--farmeSprite.isPaused=false
farmeSprite:setPosition(200,215)
layer:addChild(farmeSprite)
local anifames=CCArray:create()
anifames:addObject(frame1)
anifames:addObject(frame2)
anifames:addObject(frame3)
local animation=cc.Animation:createWithSpriteFrames({frame1,frame2,frame3},0.05)

animate=cc.Animate:create(animation)
animate:retain()

farmeSprite:runAction(cc.RepeatForever:create(animate))

我在这个地方创建了一个帧动画,我想实现的功能是我点击后调用一个函数,让精灵跳跃后继续执行帧动画,但是我发现如果这样写,跳跃之后帧动画并没有执行

:farmeSprite:runAction(cc.Sequence:create(jump,cc.RepeatForever:create(animate:clone())))

后来通过查阅资料发现Sequence:是通过递归实现的,所以不能实现我想要的功能,具体解决方法最简单的就是animation:setLoops(-1)加上这么一行,然后改代码为  farmeSprite:runAction(cc.Sequence:create(jump,animate:clone()))

OK!,这样就可以了,还有一种方法就是在Sequence里面调用一个执行创建兵执行动作得函数。完毕

   大家轻喷

------------蛋蛋

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值