2014-11-03 29 views
1

因此,我正在製作這個2d太空遊戲,玩家控制月球,月球旋轉越快,物體落下越快。所以問題是我如何讓物體以月球的速度下降。希望這足夠詳細。如何使用JavaScript製作2D引力?

這就是我對月亮控制:

var mGravity:int=1; 
var mGravityMax:int=63; 
var mGravityMin:int=1; 
var speedDamp:float=0.5; 
private var speedDampV:float; 

function Start() { 


} 

function Update() { 

    transform.Rotate(Vector3.forward * Time.deltaTime * mGravity); 

    if(Input.GetKeyDown("1")) 
     if(mGravity == mGravityMin) 
     Debug.Log("Lowest Spped!"); 

     else 
      mGravity = Mathf.SmoothDamp(mGravity,mGravityMin,speedDampV,speedDamp); 
      Debug.Log(mGravity); 

    if(Input.GetKeyDown("2")) 
     if(mGravity == mGravityMax) 
     Debug.Log("Max Speed!"); 

     else 
      mGravity = Mathf.SmoothDamp(mGravity,mGravityMax,speedDampV,speedDamp); 
      Debug.Log(mGravity); 
} 

回答

0

紡紗的對象不會增加它的引力。

你在人造重力和重力之間有誤解。人造重力是加速度的向心力,它只適用於系統中的物體。這意味着,如果你在月球上,你會感受到加速度,但是如果你在月球之上,那麼你就不會這麼做,所以你不會更喜歡它,因爲它的旋轉速度更快。

因此,你的遊戲是不現實的,所以你可以拿出你自己的方程。例如:

F = a_rot/2; 

然後將該力施加到月球正在吸引的物體上。