Создание простого 2D раннера в Construct 2



привет сегодняшнего дня по многочисленным просьбам я запускаю курс по созданию игры жанра runner курс будет состоять из трех уроков разделенных по темам полный исходник проекта вы как всегда можете найти по ссылке в описании к этому видео если у вас есть какие-то идеи касательно раннера и вы хотите чтобы я их реализовал приглашайте их в комментариях под этим видео но мы начинаем [музыка] в этом уроке мы подготовим основу для раннера а именно сделаем так чтобы препятствие двигались в сторону персонажа с постепенным увеличением скорости и периодичности появления назначим управление персонажем а также реализуем подсчет очков и сохранение рекорда начнем но прежде чем приступить к созданию того что я озвучил ранее рассмотрим все нужные в данном уроке объекты первый объект это player он имеет поведение платформер с параметром default control установленным на нет это позволит нам позже самостоятельно задать управления персонажем также у него включен параметр дабл jump что соответственно позволит делать нам двойной прыжок я чувствую ты уже задумал написать комментарии с просьбой ответить на самый главный твой вопрос откуда я взял такие стильные текстуры смотря на который впадаешь в экстаз от их великолепия ладно не буду томить взял я их на сайте крафт пикс . нет и нету танец сервер маинкрафт это огромное хранилище всевозможных а сайтов для создания игр причем здесь присутствуют как платные так и бесплатные наборы но что самое крутое вы можете оформить подписку как стать и сделал я и совершенно бесплатно скачивать любые асад и и в неограниченном количестве в общем сайт реально ценная находка я одобряю поэтому оставлю ссылку на него в описании к этому видео продолжаем рассматривать объекты и следующая немаловажная группа это сами препятствия с которыми должен будет справляться наш игрок я добавил совсем немного видов препятствий это такие препятствия как во первых пика она имеет два кадра анимации 1 это 1 piko 2 это сразу три для любителей так сказать также у нее есть дополнительная анимация push которая выглядит вот так применим ее мы во втором уроке а сейчас продолжим рассматривать препятствие следующее препятствие пила спрайт имеющий поведения rotate кто бы мог подумать для того чтобы вращаться также к пиле прилагается вот такая балка нужно она просто для красоты ну и в принципе для составления различных конструкций далее у нас идет вот эта подвижная на веревке колесо это спрайт имеющий поведение sein для реализации покачивания из стороны в сторону ну и последнее препятствие это ящик он имеет поведение solid все эти препятствия исключением ящика входят в одну семью ящик туда не входят потому что игрок будет иметь возможность передвигаться по нему в то время как все остальные препятствия будут убивать игрока при соприкосновении кстати так как по ящику можно будет передвигаться а позже мы сделаем так чтобы он двигался навстречу игроку это может вызвать проблему связанную стен что игрок запрыгнув на ящик сможет уехать вместе с ним за уровень для того чтобы это предотвратить я добавил объект под названием стокер он имеет поведение solid и не видим во время игры ну и последние 4 объекта нужны нам этом уроке этот текст для отображения количества набранных очков следующий объект это ground с поведением solid для понятных целей и два плагина touch для управления и local storage для сохранения рекорда объекты рассмотрены теперь переходим в when she ты здесь первым делом добавим 4 глобальных переменных это такие переменные как скб ст-шка спит и период эти переменные нужны нам соответственно для подсчета набранных очков сохранение рекорда изменение скорости движения препятствий и период между их появлениями значение по умолчанию я поставил такие а теперь давайте сделаем так чтобы при нажатии на экран персонаж подпрыгивал для этого создаем события a touch is in touch то есть если мы прикасаемся к экрану the player symbol and control jump то есть подпрыгивая теперь сделаем движение препятствий на встречу игроку добавляем события систем иврите а теперь действия семья препятствий сет x и сюда пишем такое выражение слв . x минус спит то есть каждый тег препятствия будут перемещаться на столько пикселей влево сколько задано в глобальной переменной спи точно такое же действие мы добавим и для ящика ну а так как в будущем препятствия будут создаваться каждый несколько секунд их нужно будет как-то уничтожать как только они достигнут пределы зоны видимости для этого создадим события если семья препятствие комп а x меньше или равно минус 120 это примерно вот здесь то семья дестрой алогичное событие добавим и для ящика далее сделаем увеличение скорости и периода в зависимости от пройденного времени пускай каждый 10 секунд период уменьшается а скорость увеличивается создаем события system every x секунд 10 секунд и при этом добавляем 2 под события если глобальная переменная период больше четырех и еще одно под событие если глобальная переменная speed меньше 10 сделано это для какого никакого баланса так как в данном случае превышения этих значений обозначает неминуемый проигрыш игрока ну а теперь добавим действия если период больше четырех то вычитаем единицу из данной переменной но если скорость меньше десяти то прибавляем 0,5 к этой переменной ну и напоследок сделаем подсчет очков и сохранение рекорда при смерти персонажа создаем события system every x секунд одна секунда и действия значению переменной скован эту мы добавляем значение пускай равное выражению in speed деленное на 4 то есть каждую секунду будет прибавляться целое значение полученное из глобальная переменная скорость деленный на 4 возможно конечно это очень убоги способ подсчета очков но для создания чего-то интересного надо думать о марте как вы знаете этого не одобряет а вы еще не знаете кто такой марте ну да ладно продолжим теперь к этому событию мы добавим под события которое будет выводить значение перемены очки на экран посредством объекта текст и так как объект текст у нас один но при этом в разных ситуациях должен выводить разные значения он имеет приватную переменную тип и у текста отображающего очки значение переменной тип равна нулю поэтому добавляем под события если переменная тип текста равна нулю the texts and текст глобальная переменная очки вот мы и подошли к концу урока теперь нам остается сделать лишь сохранение рекорда для этого во-первых добавим события при котором игрок умирает если player он collision виза назаров джек объект семья препятствий the player destroy а теперь сюда же добавим под события систем компанию в льюс то есть сравнить две переменные и если переменные очки больше переменной b ст-шка то есть если игрок побил рекорд он происходит следующая переменная b ст-шка становится равна переменной score помимо сохранения рекорда это нужно нам для третьего урока в котором мы будем создавать меню и соответственно сразу после смерти выводить значение рекорда на экран теперь нам нужно сохранить значение переменной best k для того чтобы загружать его после перезапуска игры для этого мы будем использовать plugin local storage добавляем действия local storage set it м то есть добавить пункт и в полете мы указываем идентификатор то есть имя пространство допустим ячейки в котором будет хранится значение я назову его best score вот такой вот я креативный ну а ниже мы укажем значение которое нужно поместить в хранилище в нашем случае это переменная best score переменную мы сохранили но теперь нам нужно ее получить а получать мы ее будем при старте уровня поэтому создаем события систем он start of layout и действия local storage get it м то есть получить значение из хранилища и поле кей указываем ранее созданный идентификатор best score теперь переменная будет сохраняться при смерти персонажа и загружаться при старте уровня но загружаться она будет не в переменную а грубо говоря во временное хранилище для того чтобы после загрузки записать загружаемое значение в переменную нужно создать еще одно событие local storage он и темп get то есть когда значение получено и пишем название нашего значения также добавляем действия систем с целью переменной b 100 и значение такое local storage . и там целью то есть получена из хранилища значение вот теперь все будет работать но проверить пока что мы можем это только с помощью отладчика ищем а именно в третьем уроке мы будем выводить как набранные очки т.к. рекорд в меню возникающие после смерти ну а на этом первый урок подошёл к концу если он тебе понравился то ставь лайк подписывайся на канал и жди следующий он выйдет совсем скоро на этот раз обещаю также напомню что в описании к этому ролику есть ссылка на замечательную библиотеку ассетов крафт пикс . нет откуда ей взял текстуры для этого рамира ну а на этом точно все до встречи

25 thoughts on “Создание простого 2D раннера в Construct 2

  1. ВНИМАНИЕ!
    С Flatingo я не знаком
    Спрайты представленные в видеоуроке, предоставил мне сайт craftpix net: https://goo.gl/QkcFgR

  2. У меня не работает сохранение рекорда в переменной best_score написано NaN

  3. Как сделать (авто расширение) для игры на андроид? Просто после установки игры на телефонах большего расширения чем планировалось изначально, появляются чёрные полоски по боках.

  4. ето гандон пакет для игри виставляет за 9 доларов какой он сука дибил

  5. Я такие же параметры персонажа поставил, но у меня он не прыгает почему-то(. Я поставил управление с клавиатуры, но как бы я его не менял, ничего не выходит. Если что я в этом полный ноль. Помогите, если что знаете

  6. зачем делать тексту приватную пtременную? Почему нельзя просто?

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

Leave a Reply

Your email address will not be published. Required fields are marked *