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