[英]How To Set Position as a Variable (Corona SDK)
因此,我在電暈中制作像乒乓球這樣的游戲,而我卻迷於如何使球拍追蹤球。 我將球的x坐標定義為ball.x = ballx
和ballx = 160
但是當我使用
local myListener = function( event )
upperpad.x = ballx
lowerpad.x = ballx
end
Runtime:addEventListener( "enterFrame", myListener )
為了使槳葉的x值更新為球的x值,它保持恆定。 如何將ballx
表示為變化的值,並使ballx
反映球的X值?
ballx值保持不變,因為您可能沒有更新它,而是直接更改ball.x。 確實,這是這樣做的方法:您應該使用ball.x,因為這是要更改的實際值,而不是ballx。
但是,如果仍要對ball.x使用參考值,則可以設置ballx = ball.x
, 然后直接更新ballx值。
完成ballx值的更新后,您也可以像以前一樣更新ball.x值和球拍。
local updateBall = function()
ballx = ballx + 20 --update the ballx value
end
Runtime:addEventListener("enterFrame", updateBall)
local myListener = function(event)
ball.x = ballx --then update the ball itself with the ballx value
upperpad.x = ballx --and make the paddles follow
lowerpad.x = ballx
end
Runtime:addEventListener("enterFrame", myListener)
編輯:如果要根據球的位置手動設置球拍的位置(由物理引擎處理),只需使它們遵循原始的ball.x值即可。 你不需要 ballx。
local movePaddles = function(event)
upperpad.x = ball.x
lowerpad.x = ball.x
end
Runtime:addEventListener("enterFrame", movePaddles)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.