好久没继续写。。。。因为学了差不多一个星期的cocos2dx后,用3天看了看lua,共用时8天,带我的同事就让我一边做些小项目了,当然是lua写的啦
恩。。。记录一下这些天常用的一下动作吧,怕忘记。。。要记的东西太多了、、、
精灵的移动:
armature = ccs.Armature:create("n06")
armature:setAnchorPoint(0.5,0.45) --设置,描点,默认的是0.5,0.5
local node1 = myLivelyScene:getChildByTag(niaoPosition)
local Position1 = cc.p(node1:getPosition())
armature:setPosition(Position1)
armature:getAnimation():play(niaoState)
--鹦鹉移动 MoveTo
-- 进入飞行状态
local function state1()
armature:getAnimation():play("walk")
end
local callback1 = cc.CallFunc:create(state1)
local node1 = myLivelyScene:getChildByTag(n06) --获得场景那边设定的tag
local Position1 = cc.p(node1:getPosition())
local node2 = myLivelyScene:getChildByTag(niaofly1)
local Position2 = cc.p(node2:getPosition())
local flyTime3 = cc.pGetDistance(Position1,Position2)/niaoSpeed
local moveAction3 = cc.MoveTo:create(flyTime3,Position4)
-- 贝塞尔曲线轨迹
local Position6 = cc.p(Position3.x,(Position5.y+Position4.y)/2)
local bezier2 = { Position4,Position6,Position5 }
local flyTime4 = (cc.pGetDistance(Position4,Position6)+cc.pGetDistance(Position6,Position5))/niaoSpeed
local moveAction4 = cc.BezierTo:create(flyTime4, bezier2)
-- 转身 通过缩放实现,太巧妙了
local flipAction = cc.ScaleBy:create(0.01, -1, 1)
local flipActionReverse = flipAction:reverse()
-- 设定一序列动作才能逐渐运动,否则是同时的进行的,就看不出变化了,当然移动还是会有的
local seq = cc.Sequence:creat(callback1,MoveAction3,MoveAction4,flipActionReverse)
armature:runAction(seq)
-----------------------------------------------------------------------------------------
local action2 = cc.MoveTo:create(0.3,self.endPos)
local action1 = cc.Blink:create(5,10)
-- local reAction = cc.RepeatForever:create(action1)
local seq = cc.Sequence:create(action2,action1)
self.bgRoot:runAction(seq)
本来是想要一个精灵移动过去就已经闪烁效果的,但不知道为什么会报override me的错误,移动后也不闪烁。。。。待解决,cooc2dx 3.2