Завершение игры в Unity для вертикальной игры, в которой вы прыгаете по блокам

Я создал игру в единстве, в которой вы прыгаете на блоки, чтобы расти по вертикали, а ваши очки также увеличиваются. Хотя я пробовал пару способов закончить игру, ни один из них не сработал. У кого-нибудь есть способы закончить игру, желательно через столкновение?


person Cem Ozsoy    schedule 20.02.2018    source источник
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
comment
Если there are a lot of combinations это веская причина отметить или проголосовать за слишком широкое закрытие. - person Draco18s no longer trusts SE; 21.02.2018
comment
Я пытался использовать подобный скрипт раньше, но проблема, с которой я столкнулся, заключалась в том, что игрок не сталкивался со стенами, а просто проходил сквозь них. - person Cem Ozsoy; 21.02.2018
comment
@CemOzsoy вам нужно прикрепить коллайдер к каждому объекту - person Gyntonic; 21.02.2018
comment
@Gyntonic Я пробовал краевой коллайдер 2D с эффектором платформы, но игрок приземлялся на него и оставался там. Что еще я могу использовать? - person Cem Ozsoy; 21.02.2018
comment
@CemOzsoy Вы пробовали использовать OnCollisionEnter2D(collision2D exampleCol){}... вместо OnCollisionEnter(....)? - person Gyntonic; 21.02.2018