版本3.3 项目类型Lua
-- 活动NPC面板点击事件处理
function Home_NPCPanelClick(sender, eventType)
if eventType == ccui.TouchEventType.ended then
AudioManager:playButtonEffect()
local cnt = table.getn(Home.tabNPCActivityBtn)
Home.PanelNpc:setTouchEnabled(false)
if Home.superStar then
for i = 1, cnt do
for i = 1, cnt do
Home.tabNPCActivityBtn[i]:setTouchEnabled(false)
end
local actionFadout = cc.FadeOut:create(0.5)
local moveTo = cc.MoveTo:create(0.5, cc.p(175, 175))
local function actionCallFunc(sender)
if i == cnt then
Home.PanelNpc:setTouchEnabled(true)
end
end
Home.tabNPCActivityBtn[i]:runAction(cc.Sequence:create(moveTo, actionFadout, cc.CallFunc:create(actionCallFunc)))
Home.tabNPCActivityBtn[i]:runAction(actionFadout)
end
Home.superStar = not(Home.superStar)
else
Home.PanelNpc:setTouchEnabled(false)
for i = 1, cnt do
local actionFadeIn = cc.FadeIn:create(0.5)
local moveTo = cc.MoveTo:create(0.5, Home.tabNPCBtnActivityBtnPos[i])
local function actionCallFunc(sender)
sender:setTouchEnabled(true)
if i == cnt then
Home.PanelNpc:setTouchEnabled(true)
end
end
Home.tabNPCActivityBtn[i]:runAction(cc.Sequence:create(moveTo, actionFadeIn, cc.CallFunc:create(actionCallFunc))
end
Home.superStar = not(Home.superStar)
end
end
end
本文详细探讨了在Cocos2dX 3.3版本中,如何使用Lua进行动作编程,并特别关注了动作结束时的回调机制。通过实例,解释了如何在游戏对象执行完特定动作后触发相应的回调函数,从而实现更精细的游戏逻辑控制。
1963

被折叠的 条评论
为什么被折叠?



