源战役客户端
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 
 

91 行
2.8 KiB

--正常的呼吸灯动画
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