我有 2d 精灵自动移动,只是想知道如何提高速度:
transform.Translate(0.10F, -0.03F, 0 * Time.deltaTime);
尝试设置速度变量,然后执行:
transform.Translate(0.1f,-0.05f,speed*Time.deltaTime);
但这最终会使游戏窗口中的背景消失(因为玩家正在通过 z 轴离开 2d 背景),而在场景窗口中,玩家正在以相同的速度沿着地图向下移动
您可以通过将其乘以平移向量来应用speed
to ,在此示例中:Translate
newPosition
void Update () {
float speed = 3f;
Vector3 newPosition = new Vector3 (.1f, -.05f, 0f);
transform.Translate (newPosition * Time.deltaTime * speed);
}
如果你想要 2D,你不希望精灵在 z 轴上移动(它只对绘制顺序有用)。玩家应该增加 x 或 y 轴的速度。所以在你的代码中,你可以做这样的事情。
transform.Translate(xSpeed, ySpeed, 0);
如果你想在这个精灵后面画一些东西,只需提供一个小于 z 值的值。我假设您在 Update 方法中调用它。这里xSpeed
和ySpeed
是花车。负值将沿相反方向移动对象。