1. Нужно подготовить проект. Поэтому первым делом создаем папки, которые нам понадобятся, ведь у настоящих создателей игр все по полочкам, а именно:
· Materials
· Prefabs
· Scenes
· Scripts
· Textures
При создании новых файлов или добавлении их в игру, сразу же определяем файлы в свою папку.
2. Нужно будет подготовить сцену, где будет двигаться наша змейка:
· Стены (Wall) – куб
· Земля (Ground) – плоскость
Важно: Плоскость располагаем в центре нашего игрового мира, т е координаты по x,y,z равны 0, а потом на ней уже располагаем наши стены.
3. Создаем пустышку Playground и в ней объединяем стены и плоскость.
4. Сразу настроем камеру. Камеру ставим над полем и под углом, как на примере:
5. Создаем нашу змейку и еду для нее. Понадобится 3 объекта:
· Голова змеи – куб
· Тело змеи – куб, но поменьше.
· Едой будет яблоко – сфера.
6. Создаем 3 материала для наших объектов. Дети могут выбрать сами цвета для них.
7. Создаем из них префабы.
8. Теперь переходим к программированию. Всего будет 7 шагов:
· Создание еды.
· Движение змейки.
· Сбор яблок.
· Проигрыш при касании стены.
· Добавление хвоста.
· Движение хвоста.
· Проигрыш при касании хвоста.
9. Начнем с создания еды. Еда должна будет появляться на поле, а когда ее съедают, то появляться в случайном месте в пределах поля. Поэтому сразу же создадим скрипт, который будет создавать еду в случайном месте.
Так как еда будет появляться в случайном месте, то нужно знать в пределах каких значений она может появляться. Берем объект и смотрим его предельные значения внутри поля по X и Z. И сразу посмотрите значение по Y, так как оно будет постоянное.
10. Далее создаем скрипт FoodGenerator и внутри пишем следующий код:
11. Создаем пустышку и на нее накладываем код FoodGenerator.
12. Теперь после того как еда появляется, создадим код для управления головой нашей змейки. Для этого создадим новый скрипт SnakeMovement и запишем в него код:
Важно: Основное направление нашей змейки будет в сторону Z+.
13. Проверяем. Теперь наша змейка должна съедать еду, поэтому создаем новый скрипт Food и добавляем в него код:
Важно: Здесь определение нашей еды идет с помощью тега, поэтому для головы змеи нужно будет добавить тег SnakeMain и коллайдер яблока сделать триггером.
14. Этот код нужно будет наложить на префаб еды.
15. Чтобы голова змеи не должна касаться стен, поэтому создадим новый скрипт Wall и добавить в него следующий код:
После этот скрипт нужно будет наложить на стены и коллайдеры стен превратить в триггеры.
16. Основа для будущей игры сделана, осталось добавить появление тела у змейки при поглощении еды. Для этого зайдем в уже созданный код SnakeMovement и добавим в него следующий код:
И добавим метод:
17. А данный метод будем вызывать, когда съедаем еду, поэтому надо будет открыть код Food и добавить в него следующий код:
18. Теперь при поедании еды будет появляться хвост, но не двигается. Для хвоста нужно будет создать отдельный код передвижения, так как каждая часть тела должна двигаться за предыдущей. Взять скрипт TailMovement и наложить на префаб тела нашей змейки.