簡體   English   中英

如何將位置設置為變量(Corona SDK)

[英]How To Set Position as a Variable (Corona SDK)

因此,我在電暈中制作像乒乓球這樣的游戲,而我卻迷於如何使球拍追蹤球。 我將球的x坐標定義為ball.x = ballxballx = 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM