lua脚本语言中三种桢动画的实现方法_skybeauty_新浪博客

 方法一:
 local texture = CCTextureCache:sharedTextureCache():addImage("dinnerJXZ.png")
    local frameWidth = texture:getContentSize().width
    local frameHeight = texture:getContentSize().height/3
    local animFrames = CCArray:create()
    for i=1,3 do
         local rect = CCRectMake(0, frameHeight*(i-1), frameWidth, frameHeight)
        local frame = CCSpriteFrame:createWithTexture(texture, rect)
      
        animFrames:addObject(frame)
    end
    
    local animation = CCAnimation:createWithSpriteFrames(animFrames,0.10)
    local animate = CCAnimate:create(animation)
    if tag ==1 then 
       sprite = CCSprite:createWithSpriteFrame(animFrames:objectAtIndex(tag))
       sprite:runAction(CCRepeatForever:create(animate))
       dinnerLayer:addChild(sprite)
       dinnerUI.restSprite1()
   else 
       sprite2 = CCSprite:createWithSpriteFrame(animFrames:objectAtIndex(tag))
       sprite2:runAction(CCRepeatForever:create(animate))
       dinnerLayer:addChild(sprite2)
       sprite2:setRotation(180)
       dinnerUI.restSprite2()
   end

    dinnerUI.moveSprite(tag)

方法2:



local animFrames = CCArray:create()
    for i=1,3 do
       --
        local frame = CCSpriteFrameCache:sharedSpriteFrameCache():spriteFrameByName("dinnerArrow"..i..".png")
        animFrames:addObject(frame)
    end
    
    local animation = CCAnimation:createWithSpriteFrames(animFrames,0.10)
    local animate = CCAnimate:create(animation)
方法三:
local sprite1 = CCSprite:createWithSpriteFrameName("dinnerjxz1.png")
local sprite2 = CCSprite:createWithSpriteFrameName("dinnerjxz2.png")
local sprite3 = CCSprite:createWithSpriteFrameName("dinnerjxz3.png")

local frame1 = CCSpriteFrameCache:sharedSpriteFrameCache():spriteFrameByName("dinnerjxz1.png")
local frame2 = CCSpriteFrameCache:sharedSpriteFrameCache():spriteFrameByName("dinnerjxz2.png")
local frame3 = CCSpriteFrameCache:sharedSpriteFrameCache():spriteFrameByName("dinnerjxz3.png")

local array = CCArray:create()
array:addObject(CCDelayTime:create(0.5))
array:addObject(CCCallFuncN:create(function()
sprite1:setDisplayFrame(frame3)
end))
array:addObject(CCDelayTime:create(0.5))
array:addObject(CCCallFuncN:create(function()
sprite1:setDisplayFrame(frame2)
end))
array:addObject(CCDelayTime:create(0.5))
array:addObject(CCCallFuncN:create(function()
sprite1:setDisplayFrame(frame1)
end))

local seqAction = CCSequence:create(array)
local repeatForever = CCRepeatForever:create(tolua.cast(seqAction,"CCActionInterval"))
sprite1:runAction(repeatForever)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值