Chr*_*let 2 sdk lua touch coronasdk
在Corona游戏中,我在屏幕的一角放置了一个操纵杆图形.
当用户触摸操纵杆并将其从一侧拉到另一侧时,它会移动角色.然而,如果用户从操纵杆的中间一直拖到侧面,然后移开他/她的手指,则角色继续移动.我希望角色在触摸时停止,即使操纵杆图形上不再有触摸.
操纵杆图像订阅"触摸"监听器control:addEventListener( "touch", onTouch ).
操纵杆代码如下:
-- Constants
local playerSpeed = 300
local playerDamping = 15
-- Player controls
local onTouch = function( event )
-- Player rotation
local deltaX = event.x - control.x
local deltaY = event.y - control.y
local magnitude = math.sqrt( deltaX * deltaX + deltaY * deltaY )
player.rotation = math.deg( math.atan2 ( deltaY, deltaX ) )
-- Player speed
if event.phase == "ended" then
player.linearDamping = playerDamping
else
player.linearDamping = 0
player:setLinearVelocity( deltaX / magnitude * playerSpeed, deltaY / magnitude * playerSpeed )
end
end
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?谢谢!
加:
if event.phase == "began" then
display.getCurrentStage():setFocus( control, event.id )
end
Run Code Online (Sandbox Code Playgroud)
在身体onTouch机能,订阅了"触摸结束"事件,甚至当用户的手指上没有操纵杆.
| 归档时间: |
|
| 查看次数: |
2584 次 |
| 最近记录: |