类型 事件 修订版 发行版 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 )