Как сделать змейку в стрелочке

Обновлено: 04.07.2024


Статья написана на основе примера из clickteam — скачать пример.

Подготовка объектов.

Snake заполнена анимация головы

Вам понадобится как минимум 3 активных объекта: голова змеи, хвост змеи и точка которую нужно собирать. Важно, что бы голова змеи имела 4 базовых направления в статической анимации.

В отношении объекта хвоста змеи это не обязательно особенно если у вас этот объект квадратный.

Внимание: Точку привязки координат у всех трех объектов нужно сделать слева вверху. Формулы и логика представленные в данном примере будут работать корректно только с таким положением точки привязки координат для всех трех объектов.

Snake точка привязки объекта

Ширина хвоста змеи должна быть равна шагу змеи в нашем случае — 32.

Snake ширина хвоста - 32

Активный объект являющейся головой змеи должен быть статического типа.

Snake тип объекта голова

Голова змеи. Управление и движение.

По кнопке вверх, вниз, влево и вправо соответственно меняется свойство направления (Direction) объекта головы змеи. Создаем 4 события нажатия кнопок для 4-х сторон движения.

Snake события установка кнопок

Snake клавиша для события

Лично мне нравиться использовать кнопки W, S, A, D.

Snake меняем направление головы змеи

В следующем событии устанавливается событие таймера для регулярного отслеживания какого-то временного промежутка для одного шага, скажем, каждые 30 миллисекунд. И еще устанавливается второе событие с направлением головы змеи. Этим событиям дается действие, которое изменяет координату головы змеи в зависимости от направления. Так, например, если движение вправо, то координата X устанавливается в значение: текущая координата X головы змеи плюс шаг( 32).

Snake изменение координаты движения

Общий алгоритм движения и управления выглядит так:

Snake управление головой

Создание хвоста.

В каждом из последних четырех событий добавляем еще одно действие — создание части хвоста в координатах головы. Голова змеи перемещается на один шаг, а на её месте появляется хвост. Так же можно добавить изменение свойства направления у объекта хвоста, если у вас он не квадратный, а прямоугольный как в данном случае.





Теперь если вы запустите игру, то увидите, что за змеёй тянется хвост.

Snake хвост тянется за головой

Единственной загвоздкой остается сохранение нужного количества частей хвоста.

Сохранение длинны хвоста.

Так как каждая следующая часть хвоста создается с разницей в один ход, то и исчезать они тоже будут друг за другом с каждым ходом и длинна змейки будет сохраняться.

Snake сохраняя три хвоста

Съел вкусняшку — стал длиннее

Я думаю вы уже догадались, что теперь по событию подбора точки надо просто прибавлять счетчик на 1.
Разместите где нибудь объект точки и создайте событие столкновения головы с точкой. И не забудьте удалять точку.

Теперь змейка растет!

Появление точки в случайном месте

Snake минимальная координата

Диапазоном возможных координат у нас будет вся сцена. Так минимальная координата находится в левом верхнем углу и равна нулю (помните, точка привязки координат у объекта слева вверху).

А максимальная координата будет справа внизу. Вычислить значение максимальной координаты очень просто надо от размеров сцены отнять размеры объекта.

X координата: 640 (ширина Сцены) — 32 (ширина точки) = 608,

Snake максимальная координата

Y координата: 480 (высота сцены) — 32 (высота точки) = 448.

Таким образом нам нужно генерировать возможные координаты в диапазоне от 0 до 608 по X и от 0 до 448 по Y. И вы также должны помнить, что точка может появляться только на воображаемой клетке поля, про которые шла речь в начале статьи. Получается, что для точки есть 20 возможных координат по ширине и 15 возможных координат по высоте сцены из всего возможного диапазона.
Для генерации случайных координат появления точки нужно использовать генератор случайных чисел — это функция Random(n). Где n — это количественное значение начинающееся с нуля. Допустим выражение Random(3) будет генерировать числа: 0, 1, 2, но не 3!
Итак, что бы сгенерировать координаты в диапазоне всей сцены нужна следующая формула:

Random (Размер сцены / Размер Объекта) * Размер Объекта

Таким образом формула для X-координаты:
Random (Ширина сцены / Ширина Объекта) * Ширина Объекта
или
Random (20) * 32

640/32 получается 20, значит максимум Random может выдать 19, что в свою очередь означает что максимально мы сможем получить значение 608 (т.к. 19*32=608), а 608 и является максимально допустимым значением. Если же Random выдаст минимальное значение-0, то вся формула будет 0, это минимальная координата. В остальных вариантах (от 0 до 19) мы будем получать координату в пределах диапазона с шагом в 32. И в итоге получим 20 ПРАВИЛЬНЫХ случайных варианта для создания съедобной точки в координате X.

Формула для Y-координаты:
Random (Высота сцены / Высота Объекта) * Высота Объекта
или
Random (15) * 32

Если в вашем варианте минимальная координата начинается не с нуля, то формула корректируется простым прибавлением минимального значения координаты:
Минимальная координата + (Random (Размер сцены / Размер Объекта) * Размер Объекта)

Теперь код.

Snake отчищать от точки при старте

Что бы событие работало нужно удалить объект точки из области редактирования кадра, даже если объект находится не на самой сцене. Объект останется в игре благодаря событию Create Object, только сначала создайте его.
Либо можете сделать проще — удалять точку при запуске игры:

Snake змея вскользь с точкой

Теперь можете запустить игру и пособирать точки. Если у вас происходит баг того, что точка и змея на разных линиях,

значит голова змеи изначально находится в не соответствующих координатах, поставьте объект в координату кратную 32 (например 160х96).

Но это еще не все! Точка может появится в недопустимых местах: на хвосте змеи или на препятствии.

Нужно создать событие переопределения координат если такое происходит.

Условие OR (logical) означает, что для выполнения достаточно произойти какому-то одному из двух событий.

Игрок может увидеть момент когда точка на какой-то миг появляется на хвосте или на декорации, а это все таки баг. Нужно сделать точку невидимой пока она не найдет правильное место.
При создании точки задаем действие — сделать точку невидимой:


Делаем событие обратное событию столкновений точки с хвостом либо препятствием, и возвращаем видимость:

Negate — означает противоположное действие (есть не у всех событий). Иными словами, если не происходит столкновения точки с чем либо, то сделать её видимой.

Укусил за хвост или врезался в препятствие — проиграл

Ну тут все просто. Создаете событие столкновения головы с хвостом или с препятствием и включаете флаг №1 у объекта головы, а затем ставите условие, что змея движется только при отключенном флаге.

Препятствия

Snake тип obstacle

Далее стоит сделать препятствия, хотя бы для того, что бы создать границу уровня. Заранее предупреждаю, что событие ухода за сцену работать не будет.
Вам стоит делать препятствие размером 32×32 или какой там у вас размер клетки. Препятствие должно быть объектом backdrop и иметь тип Obstacle.

C препятствиями вы сможете строить различные уровни.

Snake хвост тянется за головой

В игре осталось доделать что бы хвост на повороте сменял анимацию и выглядел красиво с изгибом, а не так:

Задавайте вопросы в комментариях).

Машина для бурения тоннелей. Копает землю.

Превращение active в backdrop на примере машины для бурения

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

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

Дать имя персонажу в игре

Как сделать ввод имени для персонажа в игре

расширенный Choco breake

Совсем другой Chocobreak tutorial. Создание игр первый уровень

Почему хвост создаётся прямо поверх головы?
В этом случае поедание объекта становится невозможным, т.к. при соприкосновении тела и еды запускается алгоритм создания новой еды в рандомном месте. Что за дела

Но хвост не создаётся поверх головы. Скачайте и проверьте исходник

он создаётся прямо на голове, а вот если установить координаты появления относительно головы, т.е. тело появляется на расстоянии 32 по Х или У с плюсом или минусом (смотря в какую сторону поворачивать), то всё будет норм))

Очень полезный и понятный урок.Спасибо вам большое за вашу работу.Жду новых уроков

Спасибо за подробность. Очень полезно, что бы разобраться в принципе работы программы.)

Seyanis, полностью согласен.

отличный гайд, не думал что будет на столько подробно,огромное спасибо. Очень ценный урок, которых очень мало по CTF2.5

Главная › Своими руками › Игрушки и развлечения › 50+ фигур змейки Рубика c фото. Часть 1. Простые фигуры

50+ фигур змейки Рубика c фото. Часть 1. Простые фигуры

Фото Змейка Рубика - простые фигуры

В статье вы найдете множество фигур, составленных из змейки Рубика. Полезная головоломка для детей и взрослых. Тренируйте логику и выносливость! >>>

Змейку Рубика изобрел венгерский изобретатель Эрно Рубик. Она появилась немного позже знаменитого кубика Рубика (в начале 1980-х), но тоже быстро завоевала популярность у детей и взрослых. Не будем надоедать историей возникновения, ее найти несложно, в Википедии, например. А тут – за дело.

Все фигуры, представленные на нашем сайте, условно разбили по степени сложности:


Змейка Рубика является одной из самых знаменитых игрушек в современном мире. Конструкция представляет собой сочетание 24 равнобедренных треугольных призм, которые осуществляют движение с помощью шарниров. Популярность этой головоломке пришла еще в прошлом веке, но сегодня она привлекает не только детей, но и взрослых, которые любят проводить время за размышлением.

Змейка отлично развивает такие качества, как усидчивость, концентрацию, гибкое мышление, а также моторику рук, поэтому рекомендуется каждому человеку.

Фигуры из змейки рубика

Мы рассмотрим, какие самые распространенные фигуры из змейки Рубика можно создавать.

Подобная фигура из змейки Рубика пользуется популярностью у владельцев и считается наиболее интересной задачей. Выполнение шара осуществляется не только с края, но и со средины. Точной схемы сборки змейки Рубика нет, поэтому каждый может следовать, согласно собственным предпочтениям, и проводить время с пользой, развивая свое мышление и моторику рук.

Собака

Котенок

Схема сборки змейки Рубика для этой фигуры очень проста, поэтому выполнить конструкцию можно без какой-либо подготовки. Фигуры из змейки Рубика сегодня не отстают по популярности от кубика Рубика благодаря множеству преимуществ и пользы для владельца. Самое главное, такие конструкции, как милый котик, понравятся детям и заинтересуют их в перерывах между занятиями.

Кобра

кобра змейки рубика

Фигура слона является представителем самых первых конструкций, которые были придуманы после выпуска змейки. Схема способна не только заинтересовать, но и вызвать спортивный интерес. Подобные фигурки из змейки Рубика отлично сказываются на развитии детей, а также отличаются большим количеством возможных вариаций.

слон змейки рубика

Ракета

Такая фигурка из змейки Рубика, как ракета, очень понравится мальчикам любого возраста. Отличное выполнение конструкции производителями вызывает настоящий интерес у детей, а также ностальгию у их родителей, которые во времена своей молодости любили забавляться подобными головоломками. Мальчики смогут с интересом провести время и посоревноваться в смекалке.

ракета змейки рубика

Есть желание провести время с пользой? Тогда краб станет отличной фигуркой из змейки Рубика, над которой придется потрудиться для получения эффективного результата. Несмотря на сложную схему сборки, конструкция способна развивать у детей такое качество, как получение необходимого результата вопреки сложностям.

краб змейки рубика

Схема сборки этой фигуры не самая легкая. Однако смышленые дети стремительно практикуют ее сборку и соревнуются навыками со своими сверстниками. Родители, которые приобретают своим детям змейку Рубика, могут быть уверенными, что каждый ребенок проведет время с пользой, а фигурки обязательно вызовут интерес.

утка змейки рубика

Цифры

Эти фигуры из змейки Рубика являются наиболее гибкой конструкцией, поэтому ребенок может реализовывать все свои задумки. Со змейки Рубика можно сделать любую цифру до 9. Конструкция может стать отличным инструментом для изучения цифр детьми. Фигурки будут вызывать интерес, а также заставлять мозг запоминать каждую цифру.



Заинтересовались? Вы можете купить змейку Рубика в нашем магазине и собирать различные фигуры.

С одними из лучших примеров змеек Рубика с различными количествами блоков можно ознакомиться ниже.

ЧУДО психоанализа: заработать на модных профессиях не прочь даже бывший священник

ЧУДО психоанализа: заработать на модных профессиях не прочь даже бывший священник

Сухая газировка времен СССР: как её делали

Реквизит в фильмах про СССР: где берут старые вещи и куда их потом девают

Реквизит в фильмах про СССР: где берут старые вещи и куда их потом девают

Путешествие в прошлое: как провести на карантине время

Путешествие в прошлое: как провести на карантине время

Чудо Ларисы Савицкой: как живет единственная выжившая в авиакатастрофе над Завитинском

Чудо Ларисы Савицкой: как живет единственная выжившая в авиакатастрофе над Завитинском

Детективная история во льдах: жизнь и смерть на острове Врангеля

Детективная история во льдах: жизнь и смерть на острове Врангеля

Вынесли ель и слава богу

Прилетит вдруг волшебник: жизнь автора песенки Крокодила Гены

Прилетит вдруг волшебник: жизнь автора песенки Крокодила Гены

Как в СССР наказывали за интимную связь с иностранцем

Как в СССР наказывали за интимную связь с иностранцем

Что ты такое: зачем в хрущевках делали окна между ванной и кухней

Что ты такое: зачем в хрущевках делали окна между ванной и кухней

Эксперимент на честность в советской столовой: каков был результат?

Эксперимент на честность в советской столовой: каков был результат?

На судьбу не обижаются: спорт и трагедия гимнастки Елены Мухиной

На судьбу не обижаются: спорт и трагедия гимнастки Елены Мухиной

Гайдай против цензуры СССР: как хитрость и случайности помогли сохранить комедии, ставшие классикой

Гайдай против цензуры СССР: как хитрость и случайности помогли сохранить комедии, ставшие классикой

“Карамора”. Вампирский Петербург, или Основано на нереальных событиях

“Карамора”. Вампирский Петербург, или Основано на нереальных событиях

История Героя СССР Николая Кузнецова: как легендарный разведчик убирал высшие чины фашистов

История Героя СССР Николая Кузнецова: как легендарный разведчик убирал высшие чины фашистов

Какая информация зашифрована в восьмизначном коде, указываемом на борту подвижного состава?

Какая информация зашифрована в восьмизначном коде, указываемом на борту подвижного состава?

Дети-актеры советских экранов с несчастливыми судьбами

Дети-актеры советских экранов с несчастливыми судьбами

Почему запретили производство одной из самых практичных аптечек?

Почему запретили производство одной из самых практичных аптечек?

10 душевных снимков о том, как выглядело счастье по-советски

10 душевных снимков о том, как выглядело счастье по-советски

Популярные советские фильмы, снятые по заказу государства

Популярные советские фильмы, снятые по заказу государства

Отчаянные и красивые: как выглядели девушки в лихие 90-е

Отчаянные и красивые: как выглядели девушки в лихие 90-е

Мертвый сезон: история легендарного разведчика Конона Молодого

Мертвый сезон: история легендарного разведчика Конона Молодого

Ностальгия и восторг: кто и как реставрирует советские педальные машинки

Ностальгия и восторг: кто и как реставрирует советские педальные машинки

Медик о советском воспитании

10 ностальгических фотографий советских новогодних костюмов

10 ностальгических фотографий советских новогодних костюмов

О первом советском маньяке, который держал в страхе всю Москву

О первом советском маньяке, который держал в страхе всю Москву

Почему в СССР делали треугольные стеклянные бутылки — и куда они делись теперь

Почему в СССР делали треугольные стеклянные бутылки — и куда они делись теперь

Читайте также: