cocos2d-x + Lua下场景不能使用setOnEnterCallback(func)等函数来设置回调的解决办法

cocos2d-x + Lua下场景不能使用setOnEnterCallback(func)等函数来设置回调的解决办法,第1张

概述cocos2d-x + Lua还不完善,使用这几个函数时会报错: node:setOnEnterCallback(func)node:setonEnterTransitionDidFinishCallback(func)node:setOnExitCallback(func)node:setonExitTransitionDidStartCallback(func) 原因是lua_coco

cocos2d-x + Lua还不完善,使用这几个函数时会报错:@H_502_2@

node:setonEnterCallback(func)node:setonEnterTransitionDIDFinishCallback(func)node:setonExitCallback(func)node:setonExitTransitionDIDStartCallback(func)

原因是lua_cocos2dx_auto.cpp里根本就没实现:
@H_502_2@

这个问题的典型场景就是一个Scene不知道自己什么时候被加载了、或者被移除了,而这个需求又是特别有用的,比如我们需要场景被显示出来后开始播放动画、场景被移除时停止播放动画。解决办法为使用registerScriptHandler方法,像这样:@H_502_2@

local TestScene = class("TestScene",function()  return cc.Scene:create()end)function TestScene.create()  local scene = TestScene.new()  scene:registerScriptHandler(function(eventType)    if eventType == "enterTransitionFinish" then      -- 场景被加载完成    elseif eventType == "exitTransitionStart" then      -- 场景即将被移除    end  end)  return sceneend

不知道为什么cocos2d-x 3.2给回调函数传入的eventType参数不是数字常量,而是字符串,网上其他教程里使用的cc.NODE_ON_ENTER等判断现在是无效的了。我对eventType是字符串的设定觉得有点不可理解,不过是数字常量也好、字符串也好,都无所谓了,能用就行。@H_502_2@ 总结

以上是内存溢出为你收集整理的cocos2d-x + Lua下场景不能使用setOnEnterCallback(func)等函数来设置回调的解决办法全部内容,希望文章能够帮你解决cocos2d-x + Lua下场景不能使用setOnEnterCallback(func)等函数来设置回调的解决办法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1004577.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存