为什么我在这段代码中使用Time.deltaTime两次?

时间:2017-08-16 14:38:09

标签: unity5

void FixedUpdate()
{   
    //for gravity
    //
    buildingVelocity += gravityScale * Physics2D.gravity * Time.deltaTime;
    Vector2 deltaPosition = buildingVelocity * Time.deltaTime;

    Vector2 moveAmount = Vector2.up * deltaPosition.y;
    Moving (moveAmount);
    //
    //
}


//for gravity
//
void Moving(Vector2 moveAmount)
{
    rb2d.position += moveAmount;
}

我正在为我的游戏创造引力,以及Unity教程。我可以说明他们做出的所有决定,除了一个。我只是不明白为什么我需要deltaPosition Vector2?是因为我需要再次乘以Time.deltaTime吗?如果是这样,为什么?我的简单思想说得好......如果deltaPosition = buildingVelocity ......我只会让Vector2 moveAmount = Vector2.up * buildingVelocity.y;甚至不必创建deltaPosition变量。有人可以为我打破这个吗?为什么我将它乘以deltatime两次呢?谢谢!

0 个答案:

没有答案