生活随笔
收集整理的這篇文章主要介紹了
lua cocos 创建动画的几种方式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
lua cocos 創建動畫有如下幾種方式可供大家選擇:
第一種方式:
在cocos studio 中拖進去一個Armature,在Armature的特性一欄導入美術或者自己做好的動畫(導入文件)。
如果想讓動畫自動循環播放,就把播放控制的兩個勾選上就可以了。
如果想讓動畫播放結束后有一個延遲在播放同個動畫或者其他動畫,可以設置動畫回調,請參考另一篇文章:
[http://blog.csdn.net/wdfscsdn2015/article/details/72641632]
在代碼中我們只需要如下調用就可以播放動畫:
viewNode.
ArmatureNode_quickStart:getAnimation()
:play(
"hall_quickStartBtnAnimation1")
第二種方式:
這種方式就是完全依賴于代碼來實現:
--開始循環播放動畫
function
MainCtrl:startDealerAnimation()local animation = cc.
Animation:create()
if animation
thenfor i =
1,
24 doanimation:addSpriteFrameWithFile(
"res/hall_dealerPic/dealer" .. tostring(i) ..
".png")
endanimation:setDelayPerUnit(
1 /
12)
animation:setRestoreOriginalFrame(
true)
self._viewNode.
SpriteDealer:setVisible(
true)
self._viewNode.
SpriteDealer:stopAllActions()
self._viewNode.
SpriteDealer:runAction(cc.
RepeatForever:create(cc.
Animate:create(animation)))
end
end
該動畫有24張圖片循環播放來展現,每張圖片時間間隔為1/12s(animation:setDelayPerUnit(1 / 12))。循環結束后,動畫回到第一幀圖片(animation:setRestoreOriginalFrame(true))。為了防止動畫播放出現紊亂,故播放之前都要對其進行進行停止操作(self._viewNode.SpriteDealer:stopAllActions())。由于動畫的播放時基于圖片的循環,所以在此我們選用精靈,通過對精靈的背景圖片進行更換來達到動畫的效果(self._viewNode.SpriteDealer:runAction)。動畫實現無線循環播放(cc.RepeatForever:create())。
用這種方式進行的動畫創建,會出現當我們進行場景切換時,動畫停留在24幀動畫中的某一幀,這時候在進行動畫播放時會出現動畫的閃爍(因為動畫會從停留的那一幀直接跳轉到第一幀),在此的解決方案就是在對動畫進行停播的時候,直接讓其回到第一幀,就可以完美解決上述問題。
function MainCtrl:stopDealerAnimation()local dealerSprite = self.
_viewNode.SpriteDealer
if dealerSprite
thendealerSprite:stopAllActions()
local spriteFrame = self:getSpriteFrame(
"res/hall_dealerPic/dealer1.png")
if spriteFrame
thendealerSprite:setSpriteFrame(spriteFrame)
endend
end
function self:getSpriteFrame(resName)local resSprite = cc.Sprite:
create(resName)
local width = resSprite:getContentSize().width
local height = resSprite:getContentSize().height
if resSprite
thenlocal rect = cc.rect(
0,
0, width, height)
local resFrame = cc.SpriteFrame:
create(resName, rect)
if resFrame
thenreturn resFrame
endendreturn nil
end
總結
以上是生活随笔為你收集整理的lua cocos 创建动画的几种方式的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。