Я создал игру в единстве, в которой вы прыгаете на блоки, чтобы расти по вертикали, а ваши очки также увеличиваются. Хотя я пробовал пару способов закончить игру, ни один из них не сработал. У кого-нибудь есть способы закончить игру, желательно через столкновение?
Завершение игры в Unity для вертикальной игры, в которой вы прыгаете по блокам
comment
Окончание игры — это код, полностью контролируемый вами. Вы сами решаете, когда это произойдет, как это произойдет и что произойдет, когда это произойдет.
- person Draco18s no longer trusts SE   schedule 20.02.2018
Ответы (1)
Вы можете выбрать, с какими объектами вы хотите закончить игру. Если вы хотите закончить игру, когда объект сталкивается со стеной, вы можете пометить объект стены словом «Стена» и загрузить сцену под названием «Игра окончена», которая содержит что-то вроде счета, кнопки сброса или чего-то еще. как это.
void OnCollisionEnter(Collision exampleCol) {
if(exampleCol.collider.tag == "Wall")
{
SceneManager.LoadScene("Game Over");
}
}
Если вы просто хотите загрузить экран Game Over, когда объект сталкивается с любым объектом, просто напишите это:
void OnCollisionEnter(Collision exampleCol) {
SceneManager.LoadScene("Game Over");
}
Если вы не хотите загружать сцену Game Over, просто введите это:
void OnCollisionEnter(Collision exampleCol) {
Application.Quit();
}
Комбинаций много, все зависит от вас. Прикрепите этот код к основному объекту.
person
Gyntonic
schedule
20.02.2018
Если
there are a lot of combinations
это веская причина отметить или проголосовать за слишком широкое закрытие.
- person Draco18s no longer trusts SE; 21.02.2018
Я пытался использовать подобный скрипт раньше, но проблема, с которой я столкнулся, заключалась в том, что игрок не сталкивался со стенами, а просто проходил сквозь них.
- person Cem Ozsoy; 21.02.2018
@CemOzsoy вам нужно прикрепить коллайдер к каждому объекту
- person Gyntonic; 21.02.2018
@Gyntonic Я пробовал краевой коллайдер 2D с эффектором платформы, но игрок приземлялся на него и оставался там. Что еще я могу использовать?
- person Cem Ozsoy; 21.02.2018
@CemOzsoy Вы пробовали использовать OnCollisionEnter2D(collision2D exampleCol){}... вместо OnCollisionEnter(....)?
- person Gyntonic; 21.02.2018