Menu
Змейка io / Clickteam Fusion 2.5

Змейка движется за мышкой.

Собирайте точки, чтобы расти.

Змейка io. Создание базового движения змейки как в slither.io

Вы играли в slither.io? Если нет, то обязательно попробуйте! В этой статье мы сделаем плавное движение змейки, которая крутится на 360° как в slither.io.
Давайте начнем!

Нам понадобится

  • snake-io-1 Голова змейки.
  • snake-io-2 Часть тела змейки.
  • snake-io-3 Еда.
  • snake-io-4 Объект который всегда следует за мышкой.
    snake-io-19

 

Ещё нам нужны 4 глобальных числовых переменных:

snake-io-22

XПоз YПоз нужны для вычисления направления движения змейки. Сразу можно установить скорость и длину змейки.


 

Движение змейки

Первое, что нужно сделать, это заставить змейку крутиться за мышкой. Чтобы это сделать используем формулу ATan2().

Движение происходит если змейка не находиться в координатах мышки

Движение происходит если змейка не находиться в координатах мышки

 

Далее нужно вычислить направление движения змейки на основе её угла поворота (Angle). Проще говоря, змейка должна двигаться в ту сторону, в которую она смотрит.

snake-io-9

Опять же применяем формулы из тригонометрии.


 
Теперь просто меняем координаты змейки с помощью этих переменных.
Вычисление направления движения змейки
 
Полное событие движения персонажа:
Событие движения змейки вслед за мышкой
 

Хвост змейки

Теперь нужно сделать хвост для змейки. Для этого мы будем использовать такую логику:

  • Сначала мы запустим постоянный цикл (loop), в котором мы будем постоянно создавать части тела на месте объекта головы змейки. Назовем петлю цикла Создать Хвост.

    Создаем хвост змейки

    Чтобы часть тела не накладывалась на голову змейки, можно в Always добавить Bring to back

     
  • Методом Spread Value мы будем назначать номер для каждой части хвоста, начиная с единицы.
    snake-io-15
    snake-io-16 

Главное, чтобы сначала было событие распространения числа, а потом событие создания объекта. Это очень частая ошибка, когда у вас ничего не работает из-за того, что действия в неправильной последовательности.

  • Если номер части хвоста будет больше, чем переменная Длина Змейки, то мы будем удалять этот объект.
    snake-io-23

Таким образом, частей тела будет столько, сколько указано в переменной Длина Змейки. Только не забудьте задать начальное значение для этой переменной.
snake-io-24
 

Поедание точек

При соприкосновении змейки и точки добавляем +1 к переменной Длина Змейки. И перемещаем точку в рандомное место.
Змейка растет когда съедает точку
 

Теперь змейка растет и можно поиграть.
 
Скачать Snake-io.mfa
 
А на этом всё, спасибо за прочтение статьи. Если тебе понравилось, поставь лайк и оцени на звёзды эту статью. Тебе пустяк, а мне приятно :-)

Вы играли в slither.io? Если нет, то обязательно попробуйте! В этой статье мы сделаем плавное движение змейки, которая крутится на 360° как в slither.io. Давайте начнем! Нам понадобится  Голова змейки.  Часть тела змейки.  Еда.  Объект который всегда следует за мышкой.   Ещё нам нужны 4 глобальных числовых переменных:   Движение змейки Первое, что нужно сделать, это заставить змейку крутиться за мышкой. Чтобы это сделать используем формулу ATan2().   Далее нужно вычислить направление движения змейки на основе её угла поворота (Angle). Проще говоря, змейка должна двигаться в ту сторону, в которую она смотрит.   Теперь просто меняем координаты змейки с помощью…

7

Рейтинг: будь первым !

    Рейтинг: 4,50 ( голосов - 16 )
Загрузка...
Комментариев: 3
  1. Влерон:

    Исходник не шевелится чёт :-x

Вы можете изменить изображение аватара на сервисе Gravatar

Добавить комментарий

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.

:wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-x :-o :-P :-D :-? :) :( :!: 8-O 8)

Вступай в группу!