events - Corona SDK event.target 触摸/点击

标签 events lua touch coronasdk tap

我正在尝试使用 event.target 来查看哪个对象被点击。我有一个由本地事件监听器调用的函数:

local param1 = 0

function changeParams(event)
  if( event.target == "op1Up" ) then
    param1 = param1 + 1
  elseif( event.target == "op1Down" ) then
    param1 = param1 - 1
  end
  dispMyParams1.text = ( "Param 1: "..param1 )
end

local op1Up = display.newRect( --[[rect parameters]]-- )
op1Up:addEventListener( "tap", changeParams )
local op1Down = display.newRect( --[[rect parameters]]-- )
op1Down:addEventListener( "tap", changeParams )

最佳答案

local param1 = 0

function changeParams(event)
  if( event.target.name == "op1Up" ) then
    param1 = param1 + 1
  elseif( event.target.name == "op1Down" ) then
    param1 = param1 - 1
  end
  dispMyParams1.text = ( "Param 1: "..param1 )
end

local op1Up = display.newRect( --[[rect parameters]]-- )
op1Up.name="op1Up"
op1Up:addEventListener( "tap", changeParams )
local op1Down = display.newRect( --[[rect parameters]]-- )
op1Up.name="op1Down"

event.target 返回对对象的引用,您首先需要向所有对象添加属性“name”,然后尝试识别那里的 .name,如我在代码中所示。

op1Down:addEventListener( "tap", changeParams )

关于events - Corona SDK event.target 触摸/点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20667618/

相关文章:

javascript - 表上的更改事件在 IE 中失败

lua - 在 Lua 中,处理包含 nil 的可变参数的正确方法是什么?

c++ - 如何使用 C++ 分发 lua 文件

ios - 按下按钮连续增加标签值

android - 多个微调器和 onItemSelected

javascript - 事件监听器不返回所有事件类型的对象属性

java - build 迷宫

lua - Lua 中 Underscore.lua 模块的用途是什么?

javascript - 如何防止移动浏览器中的模拟鼠标事件?

c++ - 使用基于 WM_POINTER 的触摸进行双指平移