Как сделать таймер в game maker

Добавил пользователь Alex
Обновлено: 04.10.2024

Управление для персонажа + анимация (game maker)

автор ZiP Чт Сен 16, 2010 8:05 pm

Здесь я опишу как сделать управление персонажем с помощью кода.

И так для начала опишу обьекты:
Для первого метода управления и анимирования персонажа.

plr - основной обьект игрока.
no_animation - основной спарайт игрока(одним файлом).

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

plr - основной обьект игрока.
s00 - основной спрайт игрока
с s01 по s08 - анимированные спрайты движения игрока.

И так метод первый:
1. Создаем спрайт с анимацией(no_animation) где делаем 9 кадров:
1 кадр 4 стрелки указывающих в 4 напрвления
2 кадр рисуем стрелку указывающую направление вверх
3 кадр стрелка вниз
4 кадр вправо
5 кадр влево
6 кадр стрелки вверх и вправо
7 кадр вверх и влево
8 кадр вниз и влево
9 кадр вниз и вправо
2. Создаем обьект игрока(plr) задаем ему анимированный спрайт(no_animation)
3. В обьете игрока(plr) создаем событие Step(Шаг) в него добавляем Execute code(Исполняемы код) в нем пишем:
Код: if keyboard_check(vk_up) // Если нажата кнопка Стрелка вверх
y-=5 // Перемещаем обьект на 5 пикселей вверх
image_index=1 // Задаем индекс спрайта
>
if keyboard_check(vk_down) //Если нажата кнопка Стрелка вниз
y+=5 // Перемещаем обьект на 5 пикселей вниз
image_index=2 // Задаем индекс спрайта
>
if keyboard_check(vk_right)
x+=5
image_index=3
>
if keyboard_check(vk_left)
x-=5
image_index=4
>
if keyboard_check(vk_up) and keyboard_check(vk_right)
image_index=5
>
if keyboard_check(vk_left) and keyboard_check(vk_up)
image_index=6
>
if keyboard_check(vk_left) and keyboard_check(vk_down)
image_index=7
>
if keyboard_check(vk_right) and keyboard_check(vk_down)
image_index=8
>
if keyboard_check(vk_nokey) // Если не нажата ни одна кнопка
image_index=0 // Задаем индекс спрайта
image_speed=0 // Задаем скорость изображения
> 4. Теперь создаем комнату, добавляем обьект игрока(plr) в комнату, запускаем и смотрим как сменяется спрайт при нажатии той или иной кнопи.

Метод второй:
1. Создаем 9 спрайтов с анимацией(s00. s08)
s00 - анимация персонажа стоящего на месте
s01 - анимированный спрайт движения вправо
s02 - анимированный спрайт движения влево
s03 - движение вверх
s04 - движение вниз
s05 - движение юго-восток
s06 - движение юго-запад
s07 - движение северо-запад
s08 - движение северо-восток
2. Создаем обьект игрока(plr) задаем ему спрайт s00
3. В обьекте игрока (plr) создаем событие Step(Шаг) в него добавляем действие Execute Code(Исполняемый код) в нем пишем:
Код: if keyboard_check(vk_right) // Если нажата кнопка Стрелка вправо
x+=5 // Перемещаем обьект на 5 пикселей вправо
sprite_index=s01 // Задаем спрайт движения вправо
>
if keyboard_check(vk_left)
x-=5
sprite_index=s02
>
if keyboard_check(vk_up)
y-=5
sprite_index=s03
>
if keyboard_check(vk_down)
y+=5
sprite_index=s04
>
if keyboard_check(vk_down) and keyboard_check(vk_right)
sprite_index=s05
>
if keyboard_check(vk_down) and keyboard_check(vk_left)
sprite_index=s06
>
if keyboard_check(vk_up) and keyboard_check(vk_left)
sprite_index=s07
>
if keyboard_check(vk_up) and keyboard_check(vk_right)
sprite_index=s08
>
if keyboard_check(vk_nokey) // Если не нажата ни одна клавиша
sprite_index=s00 // Задаем спрайт стандартной анимации(игрок в ожидании)
> 4. Создаем комнату, добавляем в неё обьект игрока(plr), запускаем и проверяем.)

Вот пример. Жду комментариев.

Последний раз редактировалось: ZiP (Сб Ноя 20, 2010 11:14 am), всего редактировалось 1 раз(а)

ZiP новичек

Infernal Game Maker - создание игр

Булат Абраров

Булат Абраров запись закреплена

Скажите пожалуйста как сделать плавную анимацию в Game maker Studio 2

Данил Яценко


Данил Яценко

Андрей Екст

Андрей Екст

но есть spine или можно самому сделать аналог скелетной анимации из отдельных спрайтов

Кирилл Жосул


Кирилл Жосул

!Осторожно,много букв!(1200 знаков+)
Есть несколько способов сделать плавную анимацию,выбрать должен ты сам ибо каждый способ делает это по разному,эффект разный и сложность тоже:
Способ 1:
image_speed-встроенная переменная которая определяет с какой скоростью будет идти анимация экземпляра объекта,изначально равна 1(1 кадр анимации за 1 игровой кадр) если допустим поменять на 0.5 то будет пол кадра анимации за 1 игровой кадр то есть анимация будет медленнее чем обычно
Показать полностью.
Способ 2:
Функция в редакторе спрайтов(не знаю есть ли она в gms2 но в gms1 точно)-функция которая делает анимацию длиннее(копирует спрайты и ставит их так чтобы анимация была медленнее),не советую ибо тратит память лучше использовать способ 1
Способ 2.5:
Копировать спрайты и вставлять в ручную-тоже самое как и способ 2 но тут ты сможешь отдельные куски оставлять быстрыми другие немного замедлять а другие сильно,тоже не советую ибо есть способ 1(даже 2) но скорость может быть изменена как я сказал
Способ 3:
Переделать анимацию(спрайт)-перерисовать анимацию так чтобы она была плавнее но для этого нужно уметь анимировать и рисовать
Способ 4:
Использовать spine(или другую программу для создание скелетной анимации)-spine(или д.р программа костной анимации) позволяет делать скелетную анимацию которая делает процесс создания анимации быстрее и сама анимация получится плавнее но нужно знать программу,уметь анимировать костную анимацию,уметь занести в gms.

Денис Куницын


Денис Куницын ответил Андрею

Андрей Екст

Денисъ, я просто вспомнил случай, где чел пилил чтото на андроид, одна анимация движения флага была овер 300 кадров и это был писец.. особенно по весу приложения в котором считай ничего нет

Открываем клиент и сервер примера basicmmorpg . Если у вас нету этого примера то вот вам

Начнем с того что нарисуем спрайт человечка(вид с верху).

Заменяем красный кубик в basicmmorpg , на вашего чувака.

В клиенте открываем объект другого игрока (objRemote), и в событие рисования делаем что бы было видно что спрайт крутится. То есть вместо

draw_sprite ( sprite_index , image_index , x , y );

Ставим это :

draw_sprite_ext ( sprite_index , image_index , x , y ,1,1, image_angle , c_white ,1);

Заменили. А теперь сделаем что бы игрок крутился. То есть в клиент в объект игрока(objPlayer) в событие шага( step ) ставим такой скрипт:

image_angle = point_direction ( x , y , mouse_x , mouse_y );

Теперь займемся самым главным, отправкой и приемом переменной image _ angle . Вспомним 4 места basicmmorpg , и начнем.

Открываем клиент объект игрока, событие таймера( alarm ) и добавляем такую строчку после строчки в которой отправляется координата у:

Открываем сервер объект игрока, событие шага( step ) и находим блок в котором первая строчка выглядит так:

case playerlocation :

И добавляем такую строчку после строчки в этом блоке в которой отправляется координата у:

Открываем сервер объект игрока, событие таймера( alarm ) и добавляем такую строчку после строчки в которой отправляется координата у:

Открываем клиент объект контроля(objControl), событие шага( step ) и находим блок в котором первая строчка выглядит так:

case playerlocation :

И добавляем такую строчку после строчки в этом блоке в которой отправляется координата у:

player. image_angle = readshort ();

И всё, готово! Запускаем и проверяем. Надеюсь что вы догадаетесь открыть 2 клиента и один сервер.

Мы сделали покупку - настоящий продукт с использованием тестовой учетной записи, мы не использовали одну из идентификационных тестов для android. Поле Google Popup появилось как обычно, мы ввели на.

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

У меня есть небольшая функция в событии столкновения в Game Maker, по какой-то причине после срабатывания переменная должна увеличиваться, другой переменной, она просто убегает и продолжает увеличи.

может ли кто-нибудь помочь мне в этом вопросе? Я нахожусь в гейммейкере, и когда 2 врага размножаются, набирается только 1 бар здоровья, и он будет выше первого врага, они оба имеют один и тот же H.

Я работаю над проектом для shcool и для того, чтобы работать с моим партнером, мы используем git hub. мы создаем игру в игровом автомате, но есть проблема, когда комната под названием room0.room.gm.

Мой код предназначен для переименования jpeg и использования атрибутов для того, чтобы обмануть Nintendo 3DS в том, что он принял изображение как фотографию. Этот код здесь - это конвертер, запущен.

Я пытаюсь реализовать полноэкранный шейдер GLSL ES в моем проекте GameMaker Studio. Тем не менее, я получаю разные результаты почти на каждом тестируемом устройстве. Я сделал небольшой тестовый про.

//Object 1: (draw event) draw_text(x,y, global.Score); draw_set_alpha(0.5); //Object 2: (draw_event) draw_text(x,y, global.highscore); draw_set_alpha(1); Проблема в том, что нарисованные объекты (б.

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

На obj_player у меня есть событие Create and Step Создайте: /// Intialize Variables grav = 0.2; hsp = 0; vsp = 0; jumpspeed = 7; movepseed = 4; key_left = 0; key_right = 0; move = key_left + key_ri.

Я использую GameMaker Studio 2 для создания 2D-платформы. Но когда я попытался запустить игру, я столкнулся с этой ошибкой: в ней сказано: Путь не существует. У меня даже нет Z-диска.

Я пытаюсь создать меню игры с помощью javafx. У меня есть первая страница, которая работает. У меня есть пара предметов, которые должны привести меня к следующим сценам. Я использую: private List&l.

Когда я был моложе, я много использовал инструмент Game Maker. Я начал учиться программировать. Я далеко за пределами этого сейчас, но, оглядываясь на него, некоторые из его особенностей и дизайна .

Я делаю счетчик для своей игры. Когда два координаты объекта x встречаются, оценка увеличивается. Я написал небольшой скрипт и выполнил его из моего объекта-менеджера. Ошибка возникает из моего скр.

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

Я работаю над фальшивым 3D-движком своей игры уже несколько дней и не могу создать представление в видео ниже. Я думаю, что я понял, как правильно масштабировать спрайты. Я не могу понять, как вращ.

В настоящее время я делаю проект в новой установке Game Maker Studio версии 1.4.1499. Когда я пытаюсь создать и запустить проект (с помощью кнопки запуска, опции меню запуска или нажатия клавиши F5.

У меня разные комнаты в моем проекте. Одна комната прямоугольника, 800by400. Я установил окно на 800 на 400, но комната поднимается на 400 на 400 с черными пространствами слева и справа. Почему это.

Я хочу изменить размер игры HTML5, когда она запускается на веб-странице, без изменения ее первоначального размера в студии для разработчиков игр.

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

У меня есть игра, созданная с использованием GameMaker Studio 1.4, которая получает аккаунт игрока Google и Play ID. Эти коды помещаются (редактируются в) в манифесте расширения Google Game Service.

Я пытаюсь переделать скрипт ниже, чтобы он не рисовал текст без тегов [a=. ] и [/a] , а просто удалял их из строки. Я сделал этот скрипт, но он удаляет все внутри тегов, удаляет их между тегами и .

Я использую Gamemaker Studio 2 и ресурс FC Dialogue System в качестве основы для кода, с которым я сейчас работаю. Это базовый код;

Есть ли способ использовать Gamemaker с Gource? Или есть что-то вроде инструмента или библиотеки для экспорта/преобразования файлов.gmk в файлы.txt каждый из них с одним классом?

Я начал использовать GameMaker Studio для разработки игры. Из того, что я собрал, он использует свой собственный язык сценариев. Поскольку возможности взаимодействия проекта GameMaker Studio с внеш.

Я делаю сверху вниз шутер, и игровое оружие смещено от координат объекта. Я использую GameMaker: Studio, поэтому координаты x и y являются центром объекта. Смещение изображения установлено здесь: b.

Я использую сервисы google play в своей игровой студии gamemaker, я заметил, что если игрок не зашел в игру Google, игра будет продолжать просить знак после показа межстраничных объявлений или даже.

Хорошо, у меня есть объект и большой квадрат, а также другие вещи в комнате. Мне нужен объект, который obj_dot случайно появляется, но только внутри большого квадрата (который является obj_paper) к.

люди просто создал симпатичный маленький звездный симулятор в Game Maker Studio 8 Pro (используя только простые функции d3d), и я хочу добавить текст в верхнюю левую часть экрана. все выглядит ве.

Мой пистолет начинает код шага: if (global.night == true) < image_angle = point_direction(x, y, mouse_x, mouse_y); image_index = 1; alarm[0] = 0.5 * room_speed; firingdelay -= 1; if (mouse_check_bu.

Как вы храните определенную часть строки в переменной? Например: x = myString // - But store the 9th character into a variable

В GM2 Professional Edition, когда я пытаюсь загрузить игру, она занимает 4 секунды, а затем прекращает загрузку, а через 45 секунд появляется окно игры. Этого не произошло, потому что в моей игре б.

У меня есть объект со своим инвентарем, для которого я использую список карт. Каждый элемент имеет имя и смещения x и y. Я хочу нарисовать каждый элемент со своим смещением поверх моего другого объ.

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

Я хочу сделать небольшую игру "Doodle Jump", чтобы получить больше опыта с GM: S. Моя единственная проблема - это алгоритм бесконечного ландшафта/блоков/комнат в GM. Может ли кто-нибудь объяснить, .

Совершенно новое для всего этого так несло меня. Я не знаю, чего не знаю. Каждые секунды или два я хочу, чтобы столб из 5 случайных объектов из пула из 20 появлялся справа. Я не могу понять, с чего.

Рубрики

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

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