我正在用一些動畫編寫遊戲,並在用戶單擊按鈕時使用這些動畫。我想向用戶展示動畫,而不是「只」用Application.loadLevel調用新的關卡。我想我可以在onMouseUp方法中使用Time.DeltaTime並將其添加到預定義的0f值,然後檢查它是否大於(例如)1f,但它不會工作,因爲onMouseUp方法只會添加「它是自己的時間「作爲德爾塔時間。如何等待幾秒鐘,然後在OnMouseUp事件中做點什麼
我的腳本看起來現在這個樣子:
public class ClickScriptAnim : MonoBehaviour {
public Sprite pressedBtn;
public Sprite btn;
public GameObject target;
public string message;
public Transform mesh;
private bool inAnim = true;
private Animator animator;
private float inGameTime = 0f;
// Use this for initialization
void Start() {
animator = mesh.GetComponent<Animator>();
}
// Update is called once per frame
void Update() {
}
void OnMouseDown() {
animator.SetBool("callAnim", true);
}
void OnMouseUp() {
animator.SetBool("callAnim", false);
animator.SetBool("callGoAway", true);
float animTime = Time.deltaTime;
Debug.Log(inGameTime.ToString());
// I would like to put here something to wait some seconds
target.SendMessage(message, SendMessageOptions.RequireReceiver);
}
}
}
Thread.Sleep(1000)將等待一秒鐘,你是否在尋找沿這些線的東西? – Bayeni 2014-10-28 13:33:47
你試圖等待一段時間的代碼在哪裏? – Reniuz 2014-10-28 13:36:09
正如我寫的,我試圖把一個inGameTime + = Time.deltaTime放到onMouseUp()方法中,但它不能像預期的那樣工作,因爲OnMouseUp方法只返回最小的deltaTime – Zwiebel 2014-10-28 13:43:41