0

我有 2d 精灵自动移动,只是想知道如何提高速度:

transform.Translate(0.10F, -0.03F, 0 * Time.deltaTime);

尝试设置速度变量,然后执行:

transform.Translate(0.1f,-0.05f,speed*Time.deltaTime);

但这最终会使游戏窗口中的背景消失(因为玩家正在通过 z 轴离开 2d 背景),而在场景窗口中,玩家正在以相同的速度沿着地图向下移动

4

2 回答 2

0

您可以通过将其乘以平移向量来应用speedto ,在此示例中:TranslatenewPosition

void Update () {
    float speed = 3f;
    Vector3 newPosition = new Vector3 (.1f, -.05f, 0f);
    transform.Translate (newPosition * Time.deltaTime * speed);
}
于 2015-10-02T16:07:17.023 回答
0

如果你想要 2D,你不希望精灵在 z 轴上移动(它只对绘制顺序有用)。玩家应该增加 x 或 y 轴的速度。所以在你的代码中,你可以做这样的事情。

transform.Translate(xSpeed, ySpeed, 0); 

如果你想在这个精灵后面画一些东西,只需提供一个小于 z 值的值。我假设您在 Update 方法中调用它。这里xSpeedySpeed是花车。负值将沿相反方向移动对象。

于 2015-10-02T08:44:26.267 回答