2015-10-11 54 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