u0u0 / Quick-Cocos2dx-Community

Cocos2d-Lua 社区版
http://www.cocos2d-lua.org
552 stars 256 forks source link

playAnimationOnce還存在嗎 #140

Closed teilala closed 4 years ago

teilala commented 4 years ago

範例中沒看到怎麼播放動畫 framework裡的display注解裡有寫到 local frames = display.newFrames("Walk%04d.png", 1, 8) local animation = display.newAnimation(frames, 0.5 / 8) -- 0.5 秒播放 8 桢 sprite:playAnimationOnce(animation) -- 播放一次动画

我自已嘗試寫了一下 local sprite = display.newSprite("#loading_1.png") local frames = display.newFrames("loading_%d.png", 1, 2) local animation = display.newAnimation(frames, 0.5 / 8) -- 0.5 秒播放 8 桢 sprite.playAnimationOnce(animation) sprite:addTo(self) 回報 沒有playAnimationOnce這個方法, 之前用3.6.4 在framework裡的spriteEX裡有這個方法

function Sprite:playAnimationOnce(animation, removeWhenFinished, onComplete, delay,onStart) return transition.playAnimationOnce(self, animation, removeWhenFinished, onComplete, delay,onStart) end

本來想實現,可是我看3.7.6版本中的transition 也沒有playAnimationOnce這個方法了,,, 真的不知道該怎麼播放動畫...

題外話,我是因為android現在要64位元的版本才能上架, 所以才開始寫3.7.6版,有沒有辦法讓原本的3.6.4版改成64位元呢? 之前有查到一些相關資料,,,不過看不太懂,有人可以拯救一下我的世界嗎

u0u0 commented 4 years ago

请进群交流。

teilala commented 4 years ago

是指qq嗎? 申請不過,可以回答我怎麼播放動畫就好了嗎? 給個範例就好了,謝謝

u0u0 commented 4 years ago

动画使用原生action系统,transition你玩去可以移植过去使用。

local frames = display.newFrames("grossini_dance_%02d.png", 1, 14)
local animation = display.newAnimation(frames, 0.2)
local animate = cc.Animate:create(animation)
local sprite1 = display.newSprite("#grossini_dance_01.png")
    :center()
    :addTo(self)
    :runAction(animate)

3.6支持64位,需要自行移植一下库和编译配置。

teilala commented 4 years ago

感謝大大~ 3.6支持64位,需要自行移植一下库和编译配置。 這個有可以參考的文章嗎? 感激不盡