我想从单个对象中删除触摸侦听器,并希望从gameloop中删除侦听器,但问题是,如果我从球对象中删除触摸侦听器,触摸事件侦听器也会从包含按钮的其他对象中删除,我想按下继续在下一个屏幕上,下面是代码的蓝色打印,但它不是我正在使用的确切代码。请尝试解决问题..谢谢
function displayScreen()
local btnGroup = display.newGroup()
local graphic = display.newRect( 0, 0, display.contentWidth, display.contentHeight)
graphic:setFillColor(0, 0, 0, 50)
btnGroup:insert(graphic)
ball:removeEventListener("touch", moveball)
restartMenu()
end
function restartMenu()
local menuGp = display.newGroup()
graphic1 = display.newImageRect("Reset.png", 564, 216,true )
graphic1.x = display.contentWidth / 2
graphic1.y = display.contentHeight - display.contentHeight / 4
graphic1:addEventListener("touch", restart)
menuGp:insert(graphic1)
end
function restart()
{}
答案 0 :(得分:0)
目前,您正在使用Runtime进行触摸事件。因此,删除所有其他对象触摸侦听器是很自然的。如果要单独使用事件侦听器,则应仅为一个对象创建事件侦听器。我的意思是这样的:
local ball = display.newCircle( 250, 250, 60 )
ball.x = display.contentCenterX
ball.y = display.contentCenterY
ball:setFillColor(240, 200, 0)
ball:addEventListener( "touch", ballTouchHandler )
并删除;
ball:removeEventListener( "touch", ballTouchHanler )
我不建议使用Runtime:addEventListener(“touch”,functiıon(){})。 您只能将它用于“enterFrame”函数