--正常的呼吸灯动画
|
|
ActionBreathLight = ActionBreathLight or BaseClass()
|
|
local table_insert = table.insert
|
|
|
|
function ActionBreathLight:__init()
|
|
self._classType = "ActionBreathLight"
|
|
|
|
self.canvas_com = false
|
|
self.canvas_obj = false
|
|
self.end_call_back = false
|
|
self.anim_list = {}
|
|
|
|
end
|
|
|
|
function ActionBreathLight:__delete()
|
|
|
|
self:StopTimer()
|
|
self.canvas_com = false
|
|
self.canvas_obj = false
|
|
self.end_call_back = false
|
|
self.anim_list = {}
|
|
end
|
|
|
|
|
|
|
|
function ActionBreathLight:Init(canvase_root, end_call_back, loop)
|
|
self.end_call_back = end_call_back
|
|
self.loop = loop == nil and true or false
|
|
if canvase_root then
|
|
self.canvas_com = canvase_root:GetComponent("CanvasGroup")
|
|
self.canvas_obj = canvase_root.gameObject
|
|
self:PlayAction()
|
|
else
|
|
if self.end_call_back then
|
|
self.end_call_back()
|
|
end
|
|
end
|
|
end
|
|
|
|
function ActionBreathLight:PlayAction()
|
|
self.canvas_obj:SetActive(true)
|
|
self.canvas_com.alpha = 0
|
|
|
|
local function call_func()
|
|
local id = TweenLite.to(self, self.canvas_com,TweenLite.UiAnimationType.ALPHA, 1, 1)
|
|
table_insert(self.anim_list, id)
|
|
end
|
|
local callfun1 = cc.CallFunc.New(call_func)
|
|
-----------
|
|
local function call_func2()
|
|
local id = TweenLite.to(self, self.canvas_com,TweenLite.UiAnimationType.ALPHA, 0, 1)
|
|
table_insert(self.anim_list, id)
|
|
end
|
|
local callfun2 = cc.CallFunc.New(call_func2)
|
|
local function call_func3()
|
|
local id = TweenLite.to(self, self.canvas_com,TweenLite.UiAnimationType.ALPHA, 1, 1)
|
|
table_insert(self.anim_list, id)
|
|
end
|
|
local callfun3 = cc.CallFunc.New(call_func3)
|
|
----------
|
|
local function call_func4()
|
|
local function end_call_back( ... )
|
|
if self.loop then
|
|
self:StopTimer()
|
|
self:PlayAction()
|
|
end
|
|
if self.call_back then
|
|
self.call_back()
|
|
end
|
|
end
|
|
local id = TweenLite.to(self, self.canvas_com,TweenLite.UiAnimationType.ALPHA, 0, 1, end_call_back)
|
|
table_insert(self.anim_list, id)
|
|
end
|
|
local callfun4 = cc.CallFunc.New(call_func4)
|
|
local action = cc.Sequence.New(callfun1, cc.DelayTime.New(2), callfun2, cc.DelayTime.New(1), callfun3, cc.DelayTime.New(2), callfun4, cc.DelayTime.New(1))
|
|
cc.ActionManager:getInstance():addAction(action, self.canvas_obj)
|
|
end
|
|
|
|
function ActionBreathLight:StopAction()
|
|
self:StopTimer()
|
|
self.canvas_obj:SetActive(true)
|
|
self.canvas_com.alpha = 1
|
|
end
|
|
|
|
function ActionBreathLight:StopTimer()
|
|
cc.ActionManager:getInstance():removeAllActionsFromTarget(self.canvas_obj)
|
|
for i,v in ipairs(self.anim_list) do
|
|
TweenLite.Stop(v)
|
|
end
|
|
self.anim_list = {}
|
|
end
|