2015-11-08 67 views
0

有人能告訴我如何禁用此腳本幾秒鐘,一旦它與一個對象標籤「有彈性的物體」發生碰撞。如何禁用腳本,幾秒鐘

這裏的腳本:

using UnityEngine; 
using System.Collections; 

public class playermovement : MonoBehaviour { 

    public float speed = 15f; 
    private Vector3 target; 

    void Start() { 

     target = transform.position; 

    } 

    void Update() { 

     if (Input.GetMouseButtonDown (0)) { 

      target = Camera.main.ScreenToWorldPoint (Input.mousePosition); 
      target.z = transform.position.z; 

     }   

     transform.position = Vector3.MoveTowards (transform.position, target, speed * Time.deltaTime); 

    } 

} 
+1

你的意思是禁用?停止更新?或停止在調用這個:'transform.position = Vector3.MoveTowards(transform.position,目標速度* Time.deltaTime);' –

+0

嗯我的意思是幾秒鐘,也許完全而只是停止這個腳本像5-6秒 –

回答

1

只是一個布爾添加到腳本,像

bool StopForAWhile = false; 

void Update(){ 
    if(StopForAWhile){ 
    //the inside of your update 
    } 
} 

然後設置這個布爾爲true,但是你想長期爲假,如果你想讓它再次移動。

+1

另外,如果您知道要停止多長時間,您可以創建一個函數,使用「Invoke」過後的時間過後重新啓動腳本。 '公共無效StopScript(浮動延遲) { StopForAWhile = TRUE; 調用(「RestartScript」,延遲); } public void RestartScript() { StopForAWhile = false; }' –