Corona SDK event.target touch/tap

use*_*065 2 events lua tap touch coronasdk

我正在尝试使用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 )
Run Code Online (Sandbox Code Playgroud)

Rai*_*bal 8

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"
Run Code Online (Sandbox Code Playgroud)

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

op1Down:addEventListener( "tap", changeParams )
Run Code Online (Sandbox Code Playgroud)