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

来源:互联网 发布:上瘾网络剧美拍第七集 编辑:程序博客网 时间:2024/05/01 12:41
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里面调用一个执行创建兵执行动作得函数。完毕

   大家轻喷

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

0 0
原创粉丝点击