cocos-lua 학습 노트(9) 동작

4652 단어 #[cocos2d-lua]
다음은 모든 동작과 관련된 인터페이스입니다.
순간 동작:
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)
구체적인 인터페이스를 어떻게 사용하는지 바로 이전 데모에서 보여주세요
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

좋은 웹페이지 즐겨찾기