2015-10-11 82 views
0

我面臨檢查點系統實施的問題。所以我下面的教程,我得到了一個檢查站系統那樣工作:檢查點系統

  1. 一個遊戲對象SpawnPoint(沒有什麼特別的地方)
  2. 一個遊戲對象關卡這裏的內容:

    [SerializeField] 
    private Transform SpawnPoint; 
    
    void OnTriggerEnter(Collider collider) 
    { 
        if (collider.gameObject.tag == "Player") 
        { 
         SpawnPoint.position = new Vector3(transform.position.x, transform.position.y, transform.position.z); 
        } 
    } 
    
  3. 和一個遊戲物體Respawn(當他重生到最後一個檢查點時)

    [SerializeField] 
    private Transform SpawnPoint; 
    
    [SerializeField] 
    private GameObject player; 
    
    void OnTriggerEnter(Collider collider) 
    { 
        if (collider.gameObject.tag == "Player") 
        { 
         player.transform.position = SpawnPoint.position; 
        } 
    } 
    

但是現在我想取代遊戲物體Respawn,當玩家失去生命時,只需將玩家重新玩轉到最後一個檢查點。我怎樣才能做到這一點 ?我想只有player.transform.position = SpawnPoint.position;改劇本重生,但它的出現故障的硬盤......

感謝每前進! PokeRwOw

回答

0

你可以把在玩家遊戲物體類似下面的腳本,只要你已經可以跟蹤他失去了生命。

//Update checks every frame, instead of only on collision with certain objects. 
    void Update() 
    { 
     // Equal to or less than is to prevent errors from multiple lost lives in a short amount of time. 
     if(lifeVariable =< 0) 
     { 
     player.transform.position = SpawnPoint.position; 
     } 
    } 
+0

我鑫卡特這件事,但我使用的是遊戲管理腳本,並不能使用你的解決方案,我想 – PokeRwOw

+0

祝你好運,我從來沒有與通用的管理腳本成功。 – user5389897

+0

最後我遵循了你的建議,這是工作,謝謝! :) – PokeRwOw