quick3.5的触屏bug
quick3.5的官方下载版本有巨大的bug
表现如下
测试代码1:
在MainScene:ctor() 方法末尾加入如下代码(地球人都知道这个代码有问题)
local b = nil b.a = 1
启动模拟器, 触摸模拟器内部, 模拟器崩溃(死在触屏里了)
解决方案:
合并 https://github.com/dualface/v3quick/commit/ac5d8b4426d87c196a51863d81e49c2780a74eb9 代码
测试代码2
在MainScene:ctor 方法中新写代码
local sp = display.newSprite("GreenButton.png"):addTo(self) sp:setPosition(cc.p(200,200)) local touchFunc = function ( event ) print("event.name",event.name) if(event.name == "began") then elseif(event.name == "moved") then elseif(event.name == "ended") then sp:removeFromParent(true) end return true end sp:addNodeEventListener(cc.NODE_TOUCH_EVENT, touchFunc) sp:setTouchEnabled(true)
运行模拟器 点击图片崩溃
解决方案:
修改LuaTouchEventManager.cpp ()
加入#define SAFE_CLEAR(obj) if(s_sharedLuaTouchEventManager){(obj).clear();}
将原来的clear方法替换为SAFE_CLEAR
(具体可参见https://github.com/dualface/v3quick/ 对应的文件最新的写法)
最后,友情提醒大家,quick自己写的触屏机制只适用于简单游戏,复杂游戏实现方式会很受限, 并且quick已经停止维护了, 建议大家在新游戏中一定采用cocos2dx_lua原生的触屏方式