cocos-lua学習ノート(九)動作


以下はすべての動作に関するインタフェースです.『cocos 2 d-Lauベース』から抜粋します.
瞬時アクション:
1.place:ノードをある場所に配置する
2.FlipxとFlipy:精霊にのみ使用でき、xまたはy軸に沿って反転する
3.ShowとHideのノードの表示と非表示
4.CallFunc動作終了の、起動のロジック
ゆうげんじかんどうさ
1.MoveToとMoveBy
2.JumToとJumpBy
3.BezierToとBezierBy
4.ScaleToとScaleBy
5.RotateToとRotateBy
6.FadeIn、FadeOut、FadeTo
7.TintToとTintBy
8.Blink
9.Animation
ふくごうどうさ
1.DelayTime
2.RepeatとRepeatForever
3.Spawn
4.Sequence
5.Follow
へんそくどうさ
1.Speed
2.ActionBase->ここにはたくさんの図があります
ノードアクションインタフェース
node:runAction()
node:stopAction()
node:stopAllActions
node:stopAction(action)
node:stopActionByTag(tag)
node:setTag(tag)
action:setTag(tag)
node:getActionByTag(tag)
action:stopActionByTag(tag)
具体的なインタフェースはどのように使用して、直接1つのDemoに展示します
local MainScene = class("MainScene", function()
    return display.newScene("MainScene")
end)

function MainScene:ctor()
    self.backgroundLayer = display.newColorLayer(cc.c4f(128,128,128,255))
    self.backgroundLayer:addTo(self)

    -- preload frames to cache
    display.addSpriteFrames("grossini-aliases.plist", "grossini-aliases.png")
    
    -- run actions: 1 to 9
    self:run(1)
end

function MainScene:run(actionNum)
    self["action" .. actionNum](self)
end

--[[
Follow
]]
function MainScene:action1()
    --         ,          
    local sprite1 = display.newSprite("1.png")
    sprite1:center()
    local move_left = cc.MoveBy:create(1.5, cc.p(display.width / 2, 0))
    local move_right = cc.MoveBy:create(3, cc.p(- display.width, 0))
    local seq = cc.Sequence:create(move_left, move_right, move_left)
    local rep = cc.RepeatForever:create(seq)
    sprite1:runAction(rep)
    sprite1:addTo(self.backgroundLayer)
    
    self.backgroundLayer:runAction(cc.Follow:create(sprite1))
end

--[[
MoveBy
]]
function MainScene:action2()
    local sprite2 = display.newSprite("2.png")
        :center()
        :addTo(self.backgroundLayer)
    -- true   ,false         
    local flipxAction = cc.FlipX:create(true)
    local moveTo = cc.MoveBy:create(1, cc.p(-300, 0))
    local action = cc.Sequence:create(moveTo, flipxAction, moveTo:reverse())
    sprite2:runAction(action)
end

--[[
Hide
]]
function MainScene:action3()
    local hideAction = cc.Hide:create()
    local moveTo = cc.MoveTo:create(1.5, cc.p(60, 60))
    local action = cc.Sequence:create(moveTo, hideAction)   

    local sprite1 = display.newSprite("1.png")
        :center()
        :addTo(self.backgroundLayer)
        :runAction(action)
end

--[[
CallFunc
]]
function MainScene:action4()
    --           
    local callback = cc.CallFunc:create(function() print("In callback function") end)
    local moveTo = cc.MoveTo:create(2, cc.p(0, 0))
    local action = cc.Sequence:create(moveTo, callback)

    local sprite1 = display.newSprite("1.png")
        :center()
        :addTo(self.backgroundLayer)
        :runAction(action)
end

--[[
     
]]
function MainScene:action5()
    local action = cc.BezierTo:create(2, {cc.p(display.right, display.top), cc.p(200, 200), cc.p(50, 100)}) 

    local sprite1 = display.newSprite("1.png")
        :pos(0, 0)
        :addTo(self.backgroundLayer)
        :runAction(action)
end

--[[
FadeTo
]]
function MainScene:action6()
    local action = cc.FadeTo:create(2, 0)

    local sprite1 = display.newSprite("1.png")
        :center()
        :addTo(self.backgroundLayer)
        :runAction(action)
end

--[[
   
]]
function MainScene:action7()

    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.backgroundLayer)
        :runAction(animate)
end

--[[
    
]]
function MainScene:action8()
    local move = cc.MoveBy:create(1, cc.vertex2F(150,0))
    local action = cc.Sequence:create(move, cc.DelayTime:create(2), move:reverse())

    local sprite1 = display.newSprite("1.png")
        :center()
        :addTo(self.backgroundLayer)
        :runAction(action)
end

--[[
    
]]
function MainScene:action9()
    local action = cc.EaseSineOut:create(cc.MoveBy:create(2, cc.p(300, 0)))
    local sprite1 = display.newSprite("1.png")
        :center()
        :addTo(self.backgroundLayer)
        :runAction(action)
end

function MainScene:onEnter()
end

function MainScene:onExit()
end

return MainScene