Menu
Расширенный урок по созданию арканоида Chocobreak

Управление осуществляется мышкой либо клавишами a,d.

В игре можно выбить 4 бонуса

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

Здравствуйте, друзья. Давненько я не выпускал новых статей :-) .

Примерно год назад я сделал исходник Chocobreak tutorial. Сразу хочу сказать, что он не похож на гайд из Clickteam Fusion 2.5.

  • Управлять можно мышкой, клавиатурой (a,d) или джойстиком.
  • По некоторым кирпичикам нужно попасть больше одного раза.
  • Есть шанс выбить один из 4-х бонусов.
  • Играть стало приятнее :-D .

В то время я записал небольшой видео курс для новичков по созданию игры-арканоид и отрыл канал на youtube. Спасибо, что смотрели и подписывались.

А тем кто еще не видел, желаю приятного просмотра. Надеюсь вам понравиться!

GamesQuest YouTube img

Но на сайт этот исходник тогда так и не попал. Вероятно, это было ошибкой :-? . Я решил исправиться и выложить его на сайте. Пожалуйста, скачивайте!

 

Скачать ChocoBreak-GQ.mfa

 

Далее вы можете прочитать коротко о том, что находиться внутри.

Создание игры арканоид. Расширенная версия Chocobreak

Настройка мячика

События, что бы мячик отскакивал от балок и от персонажа

события отскакивающего мячика

Должны ли мячики отталкиваться друг от друга?

Сталкиваются мячики

Исключаем направления, в которых мячик вообще не должен двигаться. При этом разделяем верхние и нижние направления.

Исключение направлений мячика

Управление мышкой

Персонаж перемещается за мышкой только по оси X, если он не сталкивается с балками.

Управление мышкой

Выключенный flag 0 означает, что включено управление мышкой. Вы не сможете управлять клавиатурой или джойстиком пока координата персонажа находится в положении мыши.

Если персонаж столкнется с правой или левой балкой, то его позиция меняется на положение рядом с балкой.

То же самое происходит если игрок уводит мышку за пределы игры:

Игрок уводит мышку за пределы игры

Управление с клавиатуры

Изначально тип движения персонажа установлен в Eight Directions с направлениями только влево и вправо.

тип движения - восемь направлений

Когда игрок нажимает клавиши управления вправо или влево включается flag 0,  тем самым отключается следование за мышкой и управление с клавиатуры становиться доступным.

Переключение к клавиатурному управлению

Если игрок захочет снова играть мышкой, ему нужно кликнуть ЛКМ

возврат к управлению мышкой

Управление джойстиком

Что бы задать управление с джойстика достаточно создать событие:

Управление джойстиком

Установка управления с джойстика

Если джойстик подключен к компьютеру, то управление будет осуществляться с джойстика. В противном случае управление будет с клавиатуры.

Начало игры

В начале игры удаляются все бонусы и доска ПОБЕДА. И еще останавливаем мячик, что бы он не двигался пока не пройдет обратный отсчет.

Start of Frame

Потеря мячика

Когда мячик падает вниз за пределы сцены он уничтожается.

Мяч потерян

Далее, если у вас больше нет мячиков:

Если уничтожается последний мячик

Flag 1 означает, что действует бонус, который вызывает прилипание мячика (этот бонус дается на время). Flag 1 нужен для того что бы анимация персонажа не восстанавливалась пока действует этот бонус.
Flag 31 нужен, что бы мячик не создавался после прохождения уровня.

Нельзя устанавливать номер флага больше 31

Кирпичики

Все кирпичики добавлены в группу:

Кирпичики добавлены в группу

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

Кирпичики разбиваются за несколько ударов мячика

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

Бонусы

Бонус просто меняет анимацию персонажа на длинную платформу:

Бонус длинной платформы

Бонус добавляет еще один мячик:

Бонус добавляет мячик

Бонус добавляет одну жизнь:

Бонус добавляет жизнь

И пожалуй самый интересный в реализации бонус — когда мячик прилипает к платформе персонажа. В отличии от других бонусов он дается на время и длится 10 секунд.

Бонус прилипающего мячика

Когда персонаж собирает этот бонус включается flag 1 у персонажа. После этого, когда мячик сталкивается с платформой он к ней прилипает. Здесь вычисляется место в котором мячик столкнулся с платформой и включается flag 1 и flag 2 у мячика.

Вычисление точки касания

Flag 1 мячика нужен, что бы мячик двигался вместе с платформой, когда этот флаг включен.

Мячик лежит на платформе при перемещении

Отпустить мячик можно нажав ЛКМ или ПРОБЕЛ.

Flag 2 мячика нужен, что бы мячик можно было отпустить только, когда он прилип.
Отпустить мячик
Бонус заканчивается, когда проходит 10 секунд. Flag 2 здесь так же нужен, что бы мячик ни подскакивал вверх, если он НЕ находится на платформе в момент, когда закончился бонус.
Flag 1 у персонажа означает, что работает бонус, здесь он нужен для того, что бы по прошествии 10 сек анимация персонажа восстанавливалась, только если работает этот бонус, а не какой-то ещё.
Бонус закончился

Случайное выпадение бонуса

Черный кирпичик случайным образом перемещается по всем кирпичикам и в каждом таком перемещении генерируется случайное число от 0 до 3.
Черный кирпичик содержит бонусы
Затем, когда мячик попадает по черному кирпичику, выпадает какой-то бонус в зависимости от случайного числа.
Какой бонус выпадет
Каждый бонус ограничен по количеству. Т.е. бонус может выпасть максимум столько раз, сколько установлено в переменной КолБонус.
И когда остается последние три кирпичика, удаляется черный кирпичик. Тем самым, исключая возможность выбить бонус.
Удалить черный кирпичик
Возможно, это не совсем верно с точки зрения игры. Но когда останется три кирпичика, бонус будет выпадать почти со 100% вероятностью, что то же не очень хорошо.

Победа. Переход на следующий уровень.

Когда игрок разбил все кирпичики:

  • создается доска ПОБЕДА;
  • уничтожается мячик;
  • включается флаг 31, что бы мячик больше не создавался;
  • персонаж становиться невидимым;
  • останавливается анимация балок

Победа

Что бы надпись ОЧКИString и СЧЕТЧИКCounter двигались вместе с доской ПОБЕДА.

Доска ПОБЕДА

Когда игрок нажимает на доску ПОБЕДА, он переходит на следующий кадр в следующий уровень.

Переход на следующий уровень

Проиграл

Когда у игрока кончаются жизни его перебрасывает в кадр GAME OVER

Проиграл

Начало

Запускаем мячик, когда уничтожается обратный отсчет.

Начало игры

Объект обратного отсчета имеет одну анимацию — Disapprearing. Когда она завершается объект уничтожается сам по себе.

Создание игр 1-й уровень.

Вот и всё. Если остались вопросы, смотрите подробнее в видео-курсе Создание игр 1-й уровень и будет вам счастье.

Подписывайтесь, ставьте лайки. Пока.

Здравствуйте, друзья. Давненько я не выпускал новых статей :-) . Примерно год назад я сделал исходник Chocobreak tutorial. Сразу хочу сказать, что он не похож на гайд из Clickteam Fusion 2.5. Управлять можно мышкой, клавиатурой (a,d) или джойстиком. По некоторым кирпичикам нужно попасть больше одного раза. Есть шанс выбить один из 4-х бонусов. Играть стало приятнее :-D . В то время я записал небольшой видео курс для новичков по созданию игры-арканоид и отрыл канал на youtube. Спасибо, что смотрели и подписывались. А тем кто еще не видел, желаю приятного просмотра. Надеюсь вам понравиться! Но на сайт этот исходник тогда так и не попал. Вероятно, это было ошибкой :-? . Я решил исправиться и выложить его на сайте. Пожалуйста, скачивайте!   Скачать ChocoBreak-GQ.mfa…

10

Рейтинг: 5 ( 1 голосов)

    Рейтинг: 5,00 ( голосов - 2 )
Загрузка...
Комментариев: 4
  1. Макс:

    Здравствуйте!Как сделать чтобы бонус срабатывал только один раз за уровень подскажите ,а то никак не получается

    • GQ:

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

  2. Вася:

    Спасибо, интересно. А как работать с исходником? У меня при открытии пишет «ошибка скрипта» и комп клинит.

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

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

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

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