簡體   English   中英

移動精靈的方向

[英]Direction of a moving sprite

我正在做一個簡單的突破游戲,我有一些問題要理解我應該如何處理球的速度和方向,以便在不同的對角線路徑中移動它。 我在更新方法中使用此代碼:

xPos += xSpeed * direction;
yPos += ySpeed * direction;

如果我使用xSpeed = 2YSpeed = 1不同vaules,我可以改為不同的對角線路徑,但我仍然想要相同的速度。 如果我增加xSpeed = 4值以獲得另一個對角線路徑,那么速度也會增加,我希望球以相同的速度移動。 對於direction的值,我使用1或-1。 但我想改變direction的值以獲得度數的對角線路徑會更好嗎? 在突破性的比賽中,球必須在oppesite方向上反彈。 我的數學不好,所以我會提前幫助解決這個問題。 我有什么想法可以改進我的代碼?

您可以使用sinecosine函數來獲得xy軸的相對運動。

喜歡:

xPos += speed * Math.sin(movementAngle);
yPos += speed * Math.cos(movementAngle);

在各種動畫中使用上述( 極坐標 )具有易於調整方向或移動速度(分別是speedmovementAngle變量)的優點。 當使用笛卡爾坐標( xy位置)時,改變速度或移動方向將需要對xy進行非明顯的改變。

上述解決方案中的公式只不過是從極坐標到笛卡爾坐標的轉換。

編輯:為了獲得更“自然”的行為,當movementAngle0意味着向右移動時, PI/2 -up, PI -left和3*PI/2 -right,請使用以下內容:

xPos += speed * Math.cos(-1*movementAngle);
yPos += speed * Math.sin(-1*movementAngle);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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