簡體   English   中英

使角色繞圈移動

[英]Making Character move around circle

因此,我有一個2D游戲,該游戲通常僅具有重力和“平坦”水平,但是我添加了具有自己引力的“行星”。

我有一個名為addForce(float xForce,float yForce)的函數,可用於移動角色。 假設我叫過player.addForce(1,-1); 玩家將向上移動並向右移動(盡管略有移動)。 在常規向下重力的水平上,這種方法效果很好,但是對於行星,則並非如此。 還有另一個名為earthAngle的浮點數,它是:

atan2(player.getY()-earth.getY(),player.getX()-earth.getX());

我為行星上的跳躍代碼所做的是:

player.addForce(cos(earthAngle)* 1500,sin(earthAngle)* 1500);

效果很好。 但是,我仍然堅持如何使角色在地球上行走。

目前,對於移動代碼,我有:

player.addForce(25 * x_ * cos(earthAngle),25 + x_ * sin(earthAngle));

x_只能是-1(左)或1(右),僅在某些部分上起作用,而在底部上相反,並且在某些部分上更強/更弱。 我猜他們只是我忽略的一個非常優雅的解決方案。 謝謝。

由於您已經具有從行星中心到玩家的向量,例如(x,y),因此可以使用與該(-y,x)垂直的向量作為行走力的方向。

暫無
暫無

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

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