Top.Mail.Ru
Ответы

Система чекпоинтов в юнити

Как сделать так, чтобы при подборе монеты появлялся чекпоинт(при смерти возвращался сюда же) , а также каждый чекпоинт засчитывался? Например, бегу я, дохожу до монетки, касаюсь ее и в счетчике прибавился +1, а монетка исчезла

Дополнен

Можно сказать, обычный сбор монет но с чекпоинтом

По дате
По рейтингу
Аватар пользователя
Ученик
7мес
1234567891011121314151617181920212223242526272829303132333435363738394041424344
 /// Скрипт игрока 
public Transform checkpoint; 
 
void Death() 
{ 
    transform.position = checkpoint.position; 
    transform.rotation = checkpoint.rotation; 
} 
void OnTriggerEnter(Collider col) 
{ 
     if(col.tag == "Coin") 
     { 
          checkpoint = col.gameObject.GetComponent<Coin>().chTransform; 
          col.gameObject.GetComponent<Coin>().CoinCollect();
     } 
} 
 
 
 
///Скрипт монетки(Coin) 
public GameObject coinModel; //моделька монеты
public Transform chTransform; //чекпоинт(пустышка)
public Coins coinsCollectives; //обьект со скриптом для монеток
public bool collected = false; //подобран или нет
 
public void CoinCollect() 
{ 
    Destroy(coinModel); 
    if(collected == false)coinsCollectives.GetComponent<Coins>.coins += 1; 
    if(collected == false) collected = true; 
} 
 
///Скрипт Coins 
using UnityEngine.UI; 
 
public int coins; ///количество монет 
public Text coinsText; ///счётчик
 
void Update() 
{ 
    coinsText.text = "Монеты: " + coins; 
} 
 
 

метод Death() если игрок умрёт, то он телепортируется на месте чекпоинта

OnTriggerEnter() - проверяет на касание триггера. У монетки должен быть скрипт "Coin" и тэг "Coin"
также должен быть обьект CoinCollectives со скриптом Coins

Аватар пользователя
Искусственный Интеллект
7мес

Сохраняй последний чекпоинт и при смерти перемещай к нему.