2017-02-12 71 views
0

我有一個帶有動畫控制器的gameobject。遊戲物體從屏幕底部移動到頂部,這個移動由Y軸的動畫控制。在播放動畫時修改GameObject的x位置 - Unity

我所試圖做的是還隨機在X軸移動它雖然這個動畫是在Y軸

我所做的是設置在這個主了一些動畫的動畫事件移動它:

enter image description here

在這個事件我打電話說移動2點位置之間的對象的腳本:

public void RandomX() 
{ 
    var pos = transform.position; 
    pos.x = Mathf.Clamp(transform.position.x, -1.75f, 2.85f); 
    print(pos.x); 
} 

但這不起作用。 Tha動畫在X軸上不進行任何修改。

在此先感謝您提供的任何幫助

+0

「pos」變量沒有修改,Math.Clamp(x,lowerBound,upperBound)僅設置x座標的限制。 – Vect0rZ

回答

2

動畫會覆蓋轉換位置。爲了讓你的對象被代碼控制,你必須改變層次結構。

-object A with script controlling x position 
    - object B with animation 

現在,您可以通過代碼移動父對象A.動畫僅控制對象B.