2015-07-21 57 views
1

所以,我建立了一個簡單的汽車遊戲,並附有一個腳本,允許它在兩個軸上移動。我創建了一個動畫,所以如果汽車顛倒了,可以按下'f'按鈕並將汽車翻轉回正常。不幸的是,一旦動畫播放和汽車翻轉到車輪上,汽車向前和向後移動,但不旋轉。水平軸在動畫後不工作

可能是什麼問題?

下面是腳本:

var speed : float = 10.0; 
var rotationSpeed : float = 100.0; 
var CarFlip : Animator; 

function Start() { 
CarFlip.enabled = false; 
} 

function Update() { 
var translation : float = Input.GetAxis ("Vertical") * speed; 
var rotation : float = Input.GetAxis ("Horizontal") * rotationSpeed; 
translation *= Time.deltaTime; 
rotation *= Time.deltaTime; 
transform.Translate (0, 0, translation); 
transform.Rotate (0, rotation, 0); 
if(Input.GetKeyUp(KeyCode.F)){ 
    CarFlip.enabled = true; 
} 
if(Input.GetKeyDown(KeyCode.B)){ 
      speed = 30; 
     } 
if(Input.GetKeyUp(KeyCode.B)){ 
      speed = 15; 
     } 
} 
+0

請不要使用[汽車]標籤。 _「'汽車」是指在R語言下的'汽車'包,不適用於駕駛汽車「 –

回答

0

我覺得動畫仍處於啓用狀態使卡住的旋轉。也許嘗試這樣的事情作爲一個測試,看看是否設置動畫爲false將讓汽車再次旋轉:

if(Input.GetKeyDown(KeyCode.F)) 
{ 
    CarFlip.enabled = true; 
} 
if(Input.GetKeyUp(KeyCode.F)) 
{ 
    CarFlip.enabled = false; 
} 
1

的動畫更新每一幀的轉換所以在更新你的變化()正在被覆蓋。

如果您想覆蓋已完成的操作,則需要在LateUpdate()過程中應用更改。