2014-04-06 45 views
0

我試圖在按下w按鍵時移動一個精靈。我一直在使用我在YouTube上找到的教程,但似乎無法使其工作。這是代碼。也許我對變換有問題;我可以看到x位置遞增,但精靈沒有做任何事情。Unity3D在按下某個按鍵時移動一個精靈

#pragma strict 

var startPoint : Vector3; 
var endPoint : Vector3; 
var speed : float; 
private var increment : float; 
var isMoving : boolean; 

function Start() 
{ 
    startPoint = transform.position; 
    endPoint = transform.position; 
} 

function Update() 
{ 
    if (increment <= 1 && isMoving == true) { 
     increment += speed/100; 
     Debug.Log("Moving"); 

    } 
    else { 
     isMoving = false; 
     Debug.Log("Stopped"); 

    } 

    if (isMoving == true) 
     transform.position = Vector3.Lerp(startPoint, endPoint, increment); 

    if (Input.GetKey("w") && isMoving == false) { 
     increment = 0; 
     isMoving = true; 
     startPoint = transform.position; 
     endPoint = new Vector3(transform.position.x, transform.position.y, transform.position.z + 1); 

    } 
    if (Input.GetKey("s") && isMoving == false) { 
     increment = 0; 
     isMoving = true; 
     startPoint = transform.position; 
     endPoint = new Vector3(transform.position.x, transform.position.y, transform.position.z - 1); 
    } 
} 
+0

你確定你想讓你的精靈在z軸上移動嗎? – luizcarlosfx

+0

是的,當我在變換面板中手動在Z軸上寫入一個數字時,精靈實際上會移動它的假想方向。 – Joseph

+0

我認爲你的腳本有點複雜,只需移動你的精靈。有什麼特別的方法可以讓你的春天運動,或者它基本上是一個簡單的舉動? – luizcarlosfx

回答

2

嘗試是這樣的:

function Update() { 

    if (Input.GetKeyDown(KeyCode.W)) { 
     increment += speed/100; 
     transform.position = Vector3.Lerp(transform.position, transform.position + Vector3.forward, increment); 
    } 

    if (Input.GetKeyDown(KeyCode.Z)) { 
     increment += speed/100; 
     transform.position = Vector3.Lerp(transform.position, transform.position + Vector3.back, increment); 
    } 
} 

此外,檢查你的速度不爲0的檢查。如果您想要連續移動,請將Input.GetKeyDown更改爲Input.GetKey。

+0

對不起,在Unity中這麼新,但是檢查員是什麼,我該如何檢查?也許這就是問題所在。我相信輸入是正確的,因爲我可以改變Z的值,但在視覺上它保持在相同的位置。 – Joseph

+0

這是檢查員:https://docs.unity3d.com/Documentation/Manual/Inspector.html。點擊已附加腳本的對象,您將在檢查器上看到它的屬性。 – luizcarlosfx

+0

啊是的,當我按下w時,檢查員更改Z位置+ 1,但我沒有看到精靈正在移動 – Joseph

相關問題