我现在用quick做一个游戏,需要获取一个鼠标的点击事件。(就是点击屏幕任何一个地方会出现一个动画)在lua里面这个点击事件不知道怎么去获取.知道的大神不吝赐教
这里面有。
– 设置触摸模式
node:setTouchMode(cc.TOUCH_MODE_ONE_BY_ONE) – 单点触摸
– 或者
node:setTouchMode(cc.TOUCH_MODE_ALL_AT_ONCE) – 多点触摸
– 是否启用触摸
– 默认值: false
node:setTouchEnabled(true)
– 是否允许当前 node 和所有子 node 捕获触摸事件
– 默认值: true
node:setTouchCaptureEnabled(true)
– 如果当前 node 响应了触摸,是否吞噬触摸事件(阻止事件继续传递)
– 默认值: true
not:setTouchSwallowEnabled(true)
– 添加触摸事件处理函数
node:addNodeEventListener(cc.NODE_TOUCH_EVENT, function(event)
– event.phase 的值是:
– cc.NODE_TOUCH_TARGETING_PHASE
-- event.mode 的值是下列之一:
-- cc.TOUCH_MODE_ONE_BY_ONE 单点触摸
-- cc.TOUCH_MODE_ALL_AT_ONCE 多点触摸
-- event.name 的值是下列之一:
-- began 触摸开始
-- moved 触摸点移动
-- ended 触摸结束
-- cancelled 触摸被取消
-- 如果是单点触摸:
-- event.x, event.y 是触摸点位置
-- event.prevX, event.prevY 是触摸点之前的位置
-- 如果是多点触摸:
-- event.points 包含了所有触摸点的信息
-- event.points = {point, point, ...}
-- 每一个触摸点的值包含:
-- point.x, point.y 触摸点的当前位置
-- point.prevX, point.prevY 触摸点之前的位置
-- point.id 触摸点 id,用于确定触摸点的变化
if event.name == "began" then
-- 在单点触摸模式下:在触摸事件开始时,必须返回 true
-- 返回 true 表示响应本次触摸事件,并且接收后续状态更新
return true
end
end)
为什么会报错node’ (a nil value)
你要按照你实际情况来加啊。。。node是你的那个层,这个只是范例而已。具体你不贴代码我不知道怎么说了。
我这里的要求是只要进入我们游戏。所有的层都需要这个鼠标点击事件!(就是捕捉点击事件)具体的代码我也不知道贴那块。我们游戏做了好多的跳转界面(enterScene)。谢谢你得回答
touchLayer = display.newLayer()
:addTo(self)
– 设置触摸模式
touchLayer:setTouchMode(cc.TOUCH_MODE_ONE_BY_ONE) – 单点触摸
– 是否启用触摸
touchLayer:setTouchEnabled(true)
– 添加触摸事件处理函数
touchLayer:addNodeEventListener(cc.NODE_TOUCH_EVENT, function(event)
if event.name == “began” then
print(“已点击”)
return true
end
end)
self 加setTouchEnabled 事件报 attempt to call method ‘setTouchMode’ (a nil value)
你加个layer,把这个layer添加到self里面,再将touch这个添加到layer里面去~self可能不行。
把你的代码帖出来吧。你肯定在使用self时出问题了。
还有一个问题 我想问一下 为什么我得CCTableView没有KTableCellHighlight这个属性
我们老板不要那个东西了。改成点击按钮的时候出现动画。现在的问题是CCTableView里面没有KTableCellHighlight这个属性
你用的是什么版本?
为什么我用 ccs做出来的UI 加addNodeEventListener 不好使 无法响应
我和楼上的遇到同样的问题,ccs做出来的ui addNodeEventListener 不好使,明白人出来说下啊,这个事件获取不到没法获得鼠标坐标,拖拽操作也没法搞了