【Cocos 2 D+Lua】ClippingNode制作アニメーション
1446 ワード
今日Luaの文法を熟知して、同時にCocosの中の
clip.gif
スタート
に続く
実はこのアニメの原理は以下の通りです.
穴が開いていることを想像し、コンテンツが絶えず移動しながらこの穴を通ると、上記のアニメーション効果が得られます.
上記のコードには2つの主要なノードがあり、1つは
尻尾
LuaはCocosを書くのは本当に卵が痛いです.特に私のような初心者は
ClippingNode
の使用を学んで、このノードは通常アニメーションを作るために使用して、例は以下の通りです:clip.gif
スタート
ClippingNode
を利用して、上記のような効果を作りましょう.コードリファレンスは次のとおりです.function init_element()
self._layer = cc.LayerColor:create(cc.c3b(0,255,0))
local scale = uiex.ui_fit:min_scale()
self._layer:setScale(scale)
self._layer:setAnchorPoint(cc.p(0,0))
self:addChild(self._layer)
local stencil = display.newSprite("image/login/earth_mask.png")
local clip = cc.ClippingNode:create(stencil)
clip:move(display.cx, display.cy)
clip:setAlphaThreshold(0.1)
local logo = display.newSprite("HelloWorld.png")
logo:setAnchorPoint(0,0)
local logoSize = logo:getContentSize()
logo:runAction( cc.RepeatForever:create(
cc.Sequence:create(
cc.MoveBy:create(5, cc.p(-logoSize.width*2,0)),
cc.CallFunc:create(
function( )
logo:setPositionX(0)
end)
)))
clip:addChild(logo)
end
に続く
実はこのアニメの原理は以下の通りです.
穴が開いていることを想像し、コンテンツが絶えず移動しながらこの穴を通ると、上記のアニメーション効果が得られます.
上記のコードには2つの主要なノードがあり、1つは
stencil
を利用して作成したClippingNode
であり、これは穴である.logo
を作成しました次に、logo
に対してrunAction
、すなわち、絶えず移動するコンテンツに相当する.最後に、コンテンツをサブノードとして穴に追加する必要があります.これでアニメーションが完了します.尻尾
LuaはCocosを書くのは本当に卵が痛いです.特に私のような初心者は