如何提高这种转换的速度.翻译

本文关键字:速度 翻译 转换 何提高 | 更新日期: 2023-09-27 18:15:40

我有一个自动移动的2d精灵,我想知道如何提高它的速度:

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

尝试设置一个速度变量,然后做:

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

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

如何提高这种转换的速度.翻译

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

transform.Translate(xSpeed, ySpeed, 0); 

如果你想在这个精灵后面画一些东西,只需提供一个小于它的z值的值。我假设你在你的Update方法中调用这个。这里xSpeedySpeed是浮点数。

您可以将speed应用于Translate,方法是将其乘以翻译向量,在本例中为newPosition:

void Update () {
    float speed = 3f;
    Vector3 newPosition = new Vector3 (.1f, -.05f, 0f);
    transform.Translate (newPosition * Time.deltaTime * speed);
}