код прыжка для game maker

Код прыжка для game maker

Несколько простых рисунков.

Нажав на Shift+Ctrl+S Вы откроете окно свойств вновь созданного спрайта. Свойства спрайта будут рассмотрены позже.

В поле для ввода текста «Name» Вы можете написать имя спрайта (пожалуйста, привыкайте давать осмысленные имена всем ресурсам Вашей игры). Нажмите на кнопку «Edit Sprite», далее, как и показано на следующем рисунке, нажмите на кнопку «Create a new sprite»,

в появившемся меню укажите размеры спрайта как на рисунке ниже.

Нажмите на кнопку «Ок», откроется следующая картина

Щелкните дважды левой кнопкой мыши на «image 0», и Вы окажетесь в редакторе похожем на Paint. Залейте серым цветом всю свободную область рисунка, чтобы получить нечто вроде этого.

Присвоение объекту спрайта

Теперь нам нужны два объекта, создайте их (ссылка на предыдущую статью). Сейчас мы научимся назначать созданные спрайты созданным объектам. Щелкните дважды левой кнопкой мыши на имя объекта, который Вы создали, и в появившемся окне нажмите на кнопку которая выделена курсором мыши (рисунок ниже).

После нажатия откроется меню выбора спрайтов. Выберите спрайт с именем «s_floor»,

поскольку мы редактируем объект «o_floor» т.е. пол, по которому и будем ходить. Другие настройки пока не трогайте. Проделайте тоже самое с объектом «o_player» назначив ему спрайт с именем «s_player». Создайте комнату и поместите в неё созданные объекты ссылка на предыдущую статью) так, как это показано на рисунке (хотя бы примерно).

Несколько простых действий

Ладно, с рутиной покончено. Сейчас он у нас научится прыгать, ходить (пока без анимации), приседать (чтобы мы могли добраться до правой части экрана не прыгая.), двойному прыжку (чтобы допрыгнуть до верхней платформы).
Вы уже знаете как добавить объекту событие и действие на него (ссылка на предыдущую статью). Создайте для объекта «o_player» событие «Create» и на это событие добавьте действие «Execute Code». В открывшемся редакторе кода напишите:

Далее добавьте объекту «o_player» событие «Step» и также назначьте ему действие выполнения кода «Execute Code». Напишите там следующее:

if keyboard_check(vk_left) //Теперь нам нужна «стрелка влево»
<
if place_free(x-5,y-8) x-=5
>

// прыжок
if keyboard_check_pressed(vk_up)
<
if crouch and place_free(x,y-30)
<
crouch=false
image_yscale=1
y-=20
> else

if jump=false
<
jump=true
vspeed=-10
>
>
>
//приседание
if keyboard_check(vk_down)
<

if jump exit
if crouch=false
<
crouch=true
image_yscale=0.40
//y+=5
>

Источник

Как написать игру-платформер в Game Maker Studio — ЧАСТЬ 1

Перед началом желательно иметь хоть какие-нибудь навыки работы с Game Maker Studio. Рекомендую ознакомиться с интерфейсом программы.

Создадим объект oPlayer (в дальнейшем все названия ресурсов будут начинаться с соответствующей приставки, чтобы понимать, что это за ресурсы. Для объекта (object) — «o», для комнаты (room) — «r» и т. д.). Также понадобится нарисовать спрайт или загрузить уже готовый, и привязать его к объекту. В моем случае это простой белый квадрат 48×48.

В событии Create объявим следующие переменные:

Переменные можно объявить другим способом: в специальном разделе Variable Definitions.

В событии Step напишем следующее:

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

Вторая строка вычисляет dx.

Третья строка увеличивает x на dx пикселей, то есть двигает игрока.

Создаем комнату и добавляем на слой Instances экземпляр объекта игрока.

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

Вместо того, чтобы обрабатывать каждый объект, в который можно врезаться и на котором можно стоять, создадим абстрактный объект oSolid («твердый» объект), от которого будем наследовать другие объекты, которые мы хотим наделить коллизией.

Здесь никаких переменных и событий создавать не надо: код для взаимодействия с объектом напишем внутри oPlayer в событии Step. Перепишем его так, чтобы событие выглядело следующим образом:

Теперь нужно создать объект oWall, установить ему родителя oSolid и привязать к нему какой-нибудь спрайт. В моем случае это черный квадрат 64×64. Позже в редакторе комнаты экземпляры этого объекта можно будет растянуть.

Создадим небольшую комнату и расставим там несколько oWall, чтобы проверить работоспособность.

Источник

Вряд ли тут сидят программисты но все-таки) Пригодится для новичков-прогеров начинающих с Game Maker

1.Гравитация (писать в step)

2.Повернуть объект туда куда смотрит мышка (писать в step)

if mouse_x 0 && not place_free(x,y+vspeed)) <

3.АИ интелект (проще говоря бот)

if instance_exists(o_man) >0

if distance_to_object(o_man) 64

x-=3; image_speed = 0.2; image_xscale = 1

if not place_free(x-3,y)

if distance_to_object(o_man) > 64

if not place_free(x+3,y)

if zametil = false //А если ГГ незамечен

image_speed = 0 //То скорость анимации 0

Посоны, го постить сюда свой код без форматирования и подсветки!?

Будет кодо-квест «угадай чо я написал»

Если уж решил про этот казуал писать то пиши обзорный пост, а не этот треш. И да, в game maker-e не программисты сидят, а лентяи.

Читайте также:  узоры на знамени в майнкрафт

Не надо постить всякие куски кода без должного описания и оформления с других форумов http://gamemaker.clan.su/load/skript/4

Очевидно же, что тут даже инстансы не описаны, а уже используются, ну.

Как у вас там все интересно. В Game Maker-e то.

а я вот инженерное программирование фигачу)

Не украл, а вдохновился архитектурой кода

О коде

Тут уже не до красоты

Когда удалил часть кода, который считал бесполезным:

А теперь посмотрим, кто написал этот ужасный код

Когда код скомпилировался после 245 неудачных попыток:

Автоматизация на почте

Устроился на работу сотрудником почты. На окраине города стоит полупустое здание, там начальство решило сделать архив. Рабочие привезли туда огромную груду мешков с письмами, которые требовалось отсортировать и занести в базу. Процесс таков: имеется пачка писем, обвязанная шпагатом. У каждой пачки есть накладная со штрихкодом, в котором зашифрована информация по этой пачке. Нужно 1) нажать в программе кнопку «сканировать штрихкод» 2) провести сканером по накладной 3) подождать 10-30 секунд пока программа расшифрует ШК 4) нажать кнопку «внести данные» 5) подождать 30-90 секунд 6) написать на пачке диапазон номеров, которые программа присвоила этим письмам (10-15 сек) 7) нажать кнопку «закрыть накладную» (5-10 сек), выйти назад в меню 8) следующий цикл.

Как видите, все эти ожидания плюс время на нажатие кнопок отнимает много времени. Во время 10-30 и 30-90 секундных перерывов можно занять себя открывая очередной мешок в другом конце комнаты и вытаскивая новые пачки, однако приходится бегать туда сюда и жать кнопки. Тогда я написал скрипт, автоматически определяющий когда закончился предыдущий шаг (распознавание экрана), жмущий нужные кнопки, а также назначил горячие клавиши, которые быстро выходят в меню и начинают новый цикл. Также я наловчился писать цифры загодя на основе диапазонов предыдущих пачек и количества писем в текущей. Теперь процесс выглядит так: сканирую ШК, иду занять себя другими делами (вскрытие мешков, написание цифр на следующих накладных, складирование готовых), программа в это время сама проходит полный цикл, возвращаюсь, сканирую следующий ШК и т.д. Скорость работы приблизилась к теоретическому пределу: теперь все упиралось в скорость работы программы, ускорить которую я не мог. Но этого вполне хватало, программа постоянно что-то обрабатывала, а я выполнял другие работы.

Также были бракованные накладные или пачки писем вообще без накладных. Приходилось брать каждое письмо 1) сканировать его ШК 2) клик «ввести данные» 3) 1-2 секунды программа думает 4) вылезает окно с характеристиками письма, тут ничего не делаем, все письма одинаковые, жмем «сохранить письмо» 5) следующий цикл

Как видите, опять много ненужных движений, нужно откладывать сканер в сторону, тянуться к мышке, два раза жать в разные места на экране. Моментально был написан скрипт, автоматизирующий всю эту лабуду, теперь процесс свелся к «пикнул письмо сканером (сканер издает звук при считывании), жду 2 секунды, пикаю следующее письмо» и т.д. Работа ускорилась в 2-4 раза, да и сил тратится гораздо меньше.

Но мне и этого показалось мало. Мало приятного в двухсекундном пялении в монитор. Открыл блокнот, занес туда штрихкоды писем, каждое письмо требует треть-полсекунды. Затем пишется еще один скрипт, который заносит в программу из блокнота по письму каждые 2 секунды, а я иду пить чай (а писем очень много, 10-30 тысяч, их накопилось достаточно за три года). Или не иду. Принес с собой ноутбук, пока скрипт работает над другой пачкой писем, открываю на ноуте блокнот и вношу туда следующую партию. Скорость работы выросла еще больше.

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

Источник

Код прыжка для game maker

Скрипт для автогенерации уровня в платформе только несколько условий
создайте блок obj_wall и в создании пишите код scr_blocks()
и script должен называться также scr_blocks()
в уровень поставте эти блоки просто в низу линией вот пример
начало уровня|_ _ _ _ _ _|конец уровня
. ^ ^ ^ ^ ^
а это( блоки черточки) снизу

Что такое текстовый квест?

Оформление локаций и сообщений

Я нехотел бы, чтобы в моей игре были окна стандартного GM. Чтобы ваше изображение было вместо стандартного окна надо сначала поместить изображение окна в BackGrounds потом в коде прописать: message_background(твой_бэк) и чтобы кнопки были тоже твоими, надо поместить спрайт кнопки в sprites и прописать message_button(спрайт_кнопки)

Читайте также:  как построить красивый корабль в майнкрафт

для тех кто хочет создать strategy то вот обводка персонажей создайте 2 объекта 1 mouse 2 poza у mouse в step такой код :
x=poza.x
y=poza.y

в глобальная левая кнопка отпущена glob left relesed пишите такой код : instance_destroy()

в draw рисовании такой код:
draw_redraw_set_color(c_green)//это каким цветом рисуется обводка
ctangle(poza.x,poza.y,mouse_x,mouse_y,1)//1
draw_rectangle(poza.x+1,poza.y+1,mouse_x+1,mouse_y+1,1)//2
draw_rectangle(poza.x+2,poza.y+2,mouse_x+2,mouse_y+2,1)//3
draw_rectangle(poza.x+3,poza.y+3,mouse_x+3,mouse_y+3,1)//4

а у объекта poza в глобальная левая кнопка нажать glob left presed пишите такой код :
x=mouse_x
y=mouse_y
instance_create(x,y,mouse)

в рисовании такой код : draw_clear(c_black)
это какого цвета фон

Источник

Код прыжка для game maker

Создание платформера в GM
Скачать GameMaker
GM-исходник платформера
ВСТУПЛЕНИЕ

Все мы, наверно, когда-то играли в какие либо игры и к нам рано или поздно приходило желание сделать свою игру. Возможно, у вас возникло желание создать небольшую игру, но вы не знаете не единого языка программирования? Конечно, если у вас есть Интернет, вы можете найти уроки по программированию C++, Delphi и других языков. Вы можете долго учить их и потом делать небольшие игры. Но у меня возникает вопрос: «ЗАЧЕМ?». Если умные люди создали массу конструкторов и готовых движков для ваших игр. Кстати, на сайте http://gcup.ru вы сможете найти буквально все конструкторы, что изобрели люди. Давайте остановимся на известном всем Game Maker by Mark Overmarse.

Итак, ищем на этом сайте эту программу, и качаем. Желательно купить лицензию за 20$, чтобы иметь больше возможностей. Без лицензии вы не сможете создать полноценную игру (хотя это можно, но проще будет с лицензией). Ознакомьтесь с примерами, которые даны вместе с программой, прочитайте основы программы в файле помощи. Вы наверно спросите – зачем нам эта статья, если всё подробно расписано в официальном файле помощи к игре? Да затем, что в официальном файле помощи описаны только коды и основы их пользования, а я расскажу, как сделать игру определенного жанра.

Вы ознакомились с Game Maker, теперь обязательно выучите хотя бы основы GML. Хотя ниже описанный пример platf_primer.gm6 будет использован преимущественно на кнопках (триггерах).

Платформеры – это, пожалуй, один из самых распространённых жанров в приставках Dendy, Sega и просто в играх на компьютеры. Суть его заключается в том, что вы ходите как бы по «платформам» и после прыжка, гравитация притягивает вас обратно к «платформе». Часто вам придется прыгать с одной «платформы» на другую. Вообще жанр платформеров очень обширный, это могут быть и 2D-шутеры с кровавой резнёй, или просто развесёлые платформеры наподобие Соника или Tiny Toon.

Для лучшего понимания создания платформера, к статье прилагается пример платформера platf_primer.gm6.

Начнём с создания персонажа. Создаём объект, называем например obj_player.

Теперь персонаж ходит влево и вправо. Пожалуй, самое важное в этих играх это гравитация, и естественно нужны платформы. Создаём ещё один объект, назовём его obj_platform – это будут наши будущие платформы описанные выше. Обязательно ставим галочку Solid (твёрдый) в obj_platform.

Переходим опять к obj_player. В Step ставим условия, показываемые на скриншоте и в примере:

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

Теперь важно сделать прыжок персонажа. Давайте замахнёмся сразу на двойной прыжок.

Чтобы сделать прыжок, нам нужно внедрить переменную. Давайте назовём её jump. Она понадобится нам для установления максимального количество толчков. В условии create создаём переменную jump=0. Переменные создаются выделенной красным цветом кнопкой. Когда вы её перенесёте в «Actions», появится меню. Указывайте там всё, как на скриншоте.

Теперь при создании персонажа переменная будет равняться нулю.

В Событии press (нажать кнопку вверх) создаём такое:

В принципе, основной движок для нашего платформера готов! Но давайте внедрим в него дополнительные функции.

Давайте сделаем лестницы. Лестницы мы сделаем в событиях Step, Up, Down. Создаём новый объект, и назовём его obj_ladder.

В Step создаём следующие действия:

Down создаём тоже самое, что и в Up, но координату y=-4, надо заменить на y=+4

Создаём объект врага. Назовём obj_enemy. Врагам в событии Create создаём действие, указанное на рисунке, и ставим в нём всё как указанно на скриншоте.

Ещё нам понадобится объект obj_rotate и сделать его невидимым (убрать галочку Visible).

Во враге создаём событие столкновения с obj_rotate и вставляем следующее действие:

При касании к этому объекту, враг будет менять своё направление, и идти в обратную сторону. То есть так мы устанавливаем области патрулирования врагов.

Чтобы враги могли «убивать» персонажа, нужно сделать систему жизней и здоровья. В Game Maker такая система уже встроена.

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

В событии Step создаём следующее:

перь при касании к врагу, у вас будет отниматься одна жизнь.

Тоже самое, как и врага, делаем штыки, только они не двигаются. При касании к ним ставим:

Когда здоровья будет меньше одного, отнимается одна жизнь.

Вот уже можно сделать неплохой платформер. Идём в комнату и делаем уровень. Расставляем блоки, персонажа, врагов и прочее…

Давайте сделаем, чтобы наш платформер был не просто на одной картинке, а был большой уровень, и камера следила за персонажем. Для этого в комнате во вкладке views (виды) делаем следующее:

Hbor и Vbor нужно менять. Это координаты x и y при достижении которых, камера будет двигаться. Например, для вида размером 640х480 можно поставить Hbor:320; Vbor:240. Тогда камера будет следить чётко по центру за персонажем.

Итак, с помощью моей статьи и примера, можно сделать собственную игру жанра платформер. Вам остаётся только сделать уровни! Научившись азам «Game Maker» вы сможете сами понимать, как сделать тот или иной жанр игры. Эта статья рассчитана для новичков. Думаю всё написано доступно.

Создание хорошей платформенной игры задача не простая, но только не с Game Maker. Самыми сложными являются три следующих момента:
* Создание естественного движения для персонажа.
* Создание достаточного разнообразия монстров, фонов и т.д.
* Тщательное проектирование уровней, так чтобы они были забавными для игры и становились все более и более трудными.

Теперь мы должны определить движение персонажа. Проблема состоит в том, что наш герой должен идти по полу, верхней его части. При этом он не должен пересекать пол (не должен проваливаться). Если персонаж прыгает или падает с платформы, он должен правильно приземлиться на следующую платформу. Существует множество различных способов, посредством которых персонаж может ходить, прыгать и падать. Разные игры используют различные модели. Обычно для управления движением мы используем только три клавиши. Клавиша со стрелкой «влево» перемещает наш персонаж налево, клавиша со стрелкой «вправо» должна перемещать его направо и клавиша «вверх» или клавиша «пробел» заставляет его подпрыгивать.

Далее мы нуждаемся в вертикальном движении. Его добиться более сложно. Чтобы позволить персонажу падать, мы можем использовать гравитацию (силу тяжести). Но необходимо также добится чтобы движение прекратилось, когда герой коснется пола. Помимо этого, нужно указать максимальную скорость падения, иначе персонаж будет двигаться слишком быстро. (Это будет выглядеть не очень красиво, а еще может вызывать и некотрые проблемы в выполнении). В результате мы помещаем следующую часть кода в шаговом событии (step event) персонажа. Он устанавливает силу тяжести, основанную на том, находится ли что-то под персонажем (проверяем, является ли позиция 1 пикселя ниже персонажа свободной). Также он ограничивает вертикальную скорость.
<
// устанавливаем силу тяжести (гравитация)
gravity_direction = 270;
if place_free(x, y+1)
gravity = 0.5
else
gravity = 0;
// ограничиваем скорость
if (vspeed > 12) vspeed = 12;
>

Что-ж, основа для нашей платформенной игры готова. Создай уровень с несколькими полами и стенами, создав их из блоков и чтобы персонаж, находясь внутри уровня мог перемещаться по всему уровню. Обрати внимание, что все, что выполняет наш вышеуказанный код, может быть достигнуто и при использовании действий. В виде действия не доступна только функция move_contact().
Улучшение графики

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

Имеются две вещи, которые мы хотим изменить: это внешний вид главного героя и внешний вид фоновых изображений. Рассматриваемый вариант можно найти в файле platform_graphics.gmd.
Изображение для персонажа

Чтобы добавить тайлы в твою комнату, сперва понадобится само фоновое изображение с нужными тайлами. Желательно чтобы тайлы содержащиеся в фоновом изображении имели фиксированный размер и были отделены друг от друга небольшой линией (в 1 пиксел) для того чтобы их легче было выбирать из общей кучи. В дистрибутив Game Maker включено достаточное, для первых шагов, количество разнообразных тайлов, но при желании ты всегда можешь найти еще кучу аналогичных или даже лучше, в сети Интернет. Для нашей простенькой платформенной игры мы сделали свой собственный, небольшой набор тайлов. Мы добавили его как прозрачный фоновый ресурс, под названием background_tiles.

Мы будем рисовать все наши замечательные платформы и стены прямо на фоновом изображении. Для этого мы используем опцию для создания плиточного фона (смотри главу 15 документации). Ты можешь использовать второй фон, чтобы придать платформам внешний вид. В этом случае не забудь сделать фон с платформами прозрачным.

Источник

Компьютерный онлайн портал