2013-12-18 5 views
2

어떤 오브젝트가 탭되었는지 보려면 event.target을 사용하려고합니다. 내가 로컬 이벤트 리스너에 의해 호출되는이 기능을 가지고 : 객체에Corona SDK 이벤트. 대상 터치/탭

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) 

답변

7
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 반환 참조를, 당신은 모든 객체에 속성 "이름"을 추가하는 첫번째 필요 다음 확인하려고합니다. 코드에 표시된대로 이름을 지정하십시오.

op1Down:addEventListener("tap", changeParams) 
+0

감사합니다. 나는 당신을 투표 하겠지만, 나는 단지 13 평판 밖에 가지고 있지 않습니다. :) – user3014065