所以我正在制作这个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 :(得分:0)
旋转物体不会增加其重力。
你对人造重力和重力之间存在误解。人造重力是加速度的向心力,仅适用于系统中的物体。这意味着,如果你在月球上,你会感觉到加速度,但是如果你在月亮之上你就不会,那么你就不会被它吸引,因为它的旋转速度更快。
因此你的游戏不太现实,所以你可以想出自己的方程式。例如:
F = a_rot/2;
然后将该力施加到月亮吸引的物体上。