我有2D精靈自動移動的速度,只是想知道如何增加這個速度:如何增加這個transform.translate
transform.Translate(0.10F, -0.03F, 0 * Time.deltaTime);
試過設置快速變量,然後做:
transform.Translate(0.1f,-0.05f,speed*Time.deltaTime);
但這最終使在遊戲窗口的背景消失(因爲玩家正在移動關閉通過z軸的2D背景),而在場景窗口玩家在向下移動地圖,並相同速度
我有2D精靈自動移動的速度,只是想知道如何增加這個速度:如何增加這個transform.translate
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方法中調用它。這裏的xSpeed
和ySpeed
是漂浮物。負值將以相反的方向移動對象。
您可以通過在這個例子中被翻譯載體,newPosition
乘以適用speed
到Translate
:
void Update() {
float speed = 3f;
Vector3 newPosition = new Vector3 (.1f, -.05f, 0f);
transform.Translate (newPosition * Time.deltaTime * speed);
}
,其變換組件是什麼? –
我試圖移動的精靈 – lego116
我不知道那個方法的參數是什麼,但是在最上面的那個,你總是以0傳遞。我想你的'Time.deltaTime'是這樣一個可笑的小數字(可能遠低於.1),你所乘的任何東西都不起作用。 – krillgar