Создаем новый проект.
Далее установим отобразим сетку размером ячеек 16 на 16 пикселей.
Далее в свойствах игры внесем такие изменения.
Далее создадим новый объект. Я просто перерисовал картинку марио в Piskel.
И также я перерисовал платформу.
Далее добавил их на сцену.
Далее добавляем им поведение платформы и игрока.
Далее рисуем следующую анимацию бега.
И добавим такой код для добавления анимации в игру.
Затем увеличим длину уровня.
И добавим к объекту Mario поведение камеры.
Далее добавляем новые объекты.
Затем создаем новый слой HUD, делаем его активным и перемещаем в него новые объекты.
Создаем текстовый объект.
И добавляем в его на сцену.
Теперь добавляем врага.
Далее задаем врагу поведение платформера, только отключаем управление по умолчанию и задаем максимальную скорость в 64.
Затем добавляем его на экран.
И заставляем его двигаться.
Далее снизим скорость прыжка и перемещения для Марио.
Затем напишем код, что при столкновении Марио с врагом, мы удаляем Марио, а если Марио прыгает на голову врагу, то мы удаляем врага.
Далее создадим новый текстовый объект.
И привяжем к ней числовую переменую.
Далее добавляем код, чтобы очки появлялись на сцене.
Теперь добавим числовую переменную totalPoints к текстовому объекту HUD_Points, и добавим такой код.
Вы наверное заметили такую непонятную строку: SubStr(“000000”, 0, 6 – StrLength(HUD_Points.VariableString(totalPoints))) + Points.VariableString(totalPoints).
Это функция SubStr(String, Number, Number) для получения подстроки или получение части текста. В данном случае речь идет о строке и двух числах. Наша строка будет состоять из 6 нулей.
А затем первое число будет нашей начальной позицией.
А последнее число указывает сколько символов надо взять.
Так что если бы у нас были просто 0 и 6, то мы бы взяли весь текст “000000”.
Поэтому когда я хочу добавить в счет 200 баллов, мне нужны такие данные.
И чтобы это получить у нас есть третья строка и прибавление общего счета.
Теперь добавим логическую переменную врагу IsFlipped, и только когда она равна False наш враг будет двигаться.
И также добавим это условие когда Марио сталкивается со врагом.
Теперь когда Марио упадет на врага, мы не будем его удалять, а просто перевернем его и установим анимацию Idle.
Далее изменим маску столкновения врага.
Создаем нового врага и добавляем ему булевскую переменную IsShell.
Добавим ему поведение платформера и перемесим на сцену.
И добавляем почти такой же код как для первого врага.