【问题标题】:Corona SDK event.target touch/tapCorona SDK event.target 触摸/点击
【发布时间】:2014-01-07 04:34:20
【问题描述】:

我正在尝试使用 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 )

【问题讨论】:

    标签: events lua touch coronasdk tap


    【解决方案1】:
    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 )
    

    【讨论】:

    • 非常感谢!我会投票给你,但我只有 13 个声望。 :)
    猜你喜欢
    • 2014-06-20
    • 2013-04-01
    • 2012-02-26
    • 2015-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多