--添加一个点击层 function MyGameScene:addTouchLayer() local layer = cc.Layer:create(); layer:getEventDispatcher():addEventListenerWithSceneGraphPriority(onTouchHandler,layer) self.layerTouch = layer self.layerTouch:setTouchEnabled(true) self.layerTouch:setPosition(0,0) self.layerTouch:setContentSize(self.visibleSize.width,self.visibleSize.height) self:addChild(self.layerTouch) local layerColor = cc.LayerColor:create(cc.c4b(255,255,0,100),self.visibleSize.width,self.visibleSize.height) layerColor:setPosition(0,0) layerColor:setAnchorPoint(0,0) self.layerTouch:addChild(layerColor) end ``` 我用的cocos code ide开发的 debug的时候 用了一个layer层来做点击事件 请问我这么做有问题吗? onTouchHandler 反正是没有响应 第一次弄 不知道怎么搞 求帮助哈
是不是说的不清楚 啊 怎么没人回复呢
test里:
local function onTouchBegan()
.........
local listener = cc.EventListenerTouchOneByOne:create()
listener:setSwallowTouches(true)
listener:registerScriptHandler(onTouchBegan,cc.Handler.EVENT_TOUCH_BEGAN )
listener:registerScriptHandler(onTouchMoved,cc.Handler.EVENT_TOUCH_MOVED )
listener:registerScriptHandler(onTouchEnded,cc.Handler.EVENT_TOUCH_ENDED )
local eventDispatcher = layer:getEventDispatcher()
eventDispatcher:addEventListenerWithSceneGraphPriority(listener, layer)
en 谢谢 可以了 对了 有这种类似的简单例子吗? 我在网上看的都是quick的例子 代码都不一样 ~
你好 我在 onTouchBegan 里面输出x y 怎么不对啊
打印的日志是
userdata -x
nil -y
cocos3.X的tests -> lua-tests目录下,例子里面都有的,
local function onTouchBegan(touch, event)
print(touch:getLocation().x, touch:getLocation().y)
end
我下载的是那个 Cocos引擎 V1.0 Preview版本 好像没有你说的这个目录啊 能传一个不 谢啦