类型 事件 修订版 发行版 2024.3703 关键词 touch 另请参阅 轻触/触控/多点触控(指南)
当用户的手指触碰屏幕时,会生成命中事件并分发给显示层次结构中的显示对象。只有与命中位置(手指在屏幕上的位置)相交的对象才能成为接收事件的候选对象。
多点触控事件是对单点触控事件的扩展。多点触控通过 system.activate() API 启用。
local object = display.newImage( "ball.png" )
object.id = "ball object"
local function onObjectTouch( event )
if ( event.phase == "began" ) then
print( "Touch event began on: " .. event.target.id )
elseif ( event.phase == "ended" ) then
print( "Touch event ended on: " .. event.target.id )
end
return true
end
object:addEventListener( "touch", onObjectTouch )
local object = display.newImage( "ball.png" )
object.id = "ball object"
local function onObjectTouch( self, event )
if ( event.phase == "began" ) then
print( "Touch event began on: " .. self.id )
end
return true
end
object.touch = onObjectTouch
object:addEventListener( "touch", object )
local object = display.newImage( "ball.png" )
object.id = "ball object"
function object:touch( event )
if ( event.phase == "began" ) then
print( "Touch event began on: " .. self.id )
end
return true
end
object:addEventListener( "touch", object )
local object = display.newImage( "ball.png" )
object.id = "ball object"
function object:touch( event )
if ( event.phase == "began" ) then
print( "Touch event began on: " .. self.id )
-- Set touch focus
display.getCurrentStage():setFocus( self )
self.isFocus = true
elseif ( self.isFocus ) then
if ( event.phase == "moved" ) then
print( "Moved phase of touch event detected." )
elseif ( event.phase == "ended" or event.phase == "cancelled" ) then
-- Reset touch focus
display.getCurrentStage():setFocus( nil )
self.isFocus = nil
end
end
return true
end
object:addEventListener( "touch", object )