Как сделать урон в game maker

Добавил пользователь Skiper
Обновлено: 31.08.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 новичек

Понимание того, как стрелять в персонажей в GameMaker, позволит вам создавать гораздо более широкий спектр игр. Со времени первого выпуска GameMaker в 1999 году были добавлены различные функции, такие как создание экземпляров и переменных. Игры, созданные в GameMaker, затем можно экспортировать в Интернет или сохранить в виде отдельного файла. Загрузив несколько ресурсов и настроив различные экземпляры, пользователь может запрограммировать своего персонажа на стрельбу снарядами.

Шаг 1

Загрузите движок платформы и Bullet Sprite (см. Ресурсы). Сохраните каждый ресурс в папке программы GameMaker, расположенной на вашем компьютере.

Шаг 2

Шаг 3

Шаг 4

Шаг 5

Шаг 6

Шаг 7

Как сделать так, чтобы ваш плейлист на YouTube воспроизводился без перерыва

Как сделать так, чтобы ваш плейлист на YouTube воспроизводился без перерыва

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

Как сделать так, чтобы ваш iPhone прошивал, когда он звонит

Как сделать так, чтобы ваш iPhone прошивал, когда он звонит

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

Как сделать так, чтобы ваш iPhone звучал громче

Как сделать так, чтобы ваш iPhone звучал громче

1. Введение;
2. Стрельба в одном направлении;
3. Использование переменной для стрельбы в разных направлениях;
4. Создание паузы между выстрелами;
5. Уничтожение пули, когда она пропадает из вида.

ВВЕДЕНИЕ

Вопрос "Как научить компьютерного персонажа стрелять?" часто задается на различных форумах! Данный урок предназначен именно для тех кто еще не знает как это делается или тех, кому нужна дополнительная информация.

Снаряд или пуля это некий объект, созданный в определенном месте, запрограммированный на движение в нужном направлении и уничтожающий другой объект, с которым он сталкивается.

Если Ваши пули должны на протяжении всей игры перемещаться только в одном направлении, например как в играх стиля "Space Invader", тогда все достаточно просто, но вот когда встает вопрос о перемещении пуль в различых направлениях - тогда реализация данной системы несколько усложняется.

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

Перед тем как приступить непосредственно к прочтению и реализации урока, предлогаем Вам запустить Game Maker (мы используем версию 4.2a) и создать все необходимое, а именно:

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

СТРЕЛЬБА В ОДНОМ НАПРАВЛЕНИИ

В самом начале урока (в соответствии с компасом) выбираем направление для полета нашей пули.

В событии CREATE объекта вашей пули поместим действие 'Set direction and speed of motion' - это такая иконка (с синими стрелками, торчащими в разные стороны) и затем укажем желаемое направление полета пули, введя соответствующую цифру в окошке 'direction', после чего укажем скорость с которой наша пуля должна перемещаться - введя соответствующую цифру в поле 'speed', в окошке RELATIVE галочку ставить не нужно.

Теперь в объекте главного игрового персонажа в событии выстрела (в нашем случае это клавиша 'Space') поместим действие 'Create an instance of an object' - иконка (светящаяся лампочка) которая находится во вкладке OBJECTS - выбираем спрайт пули и устанавливаем координаты создания пули X=0, Y=0 при этом пуля будет создана в верхнем левом углу комнаты. Чтобы образец пули был создан рядом со спрайтом главного героя необходимо в поле RELATIVE поставить галочку, если Вы забыли ее поставить, то вернитетесь и сделайте это.

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

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

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

ИСПОЛЬЗОВАНИЕ ПЕРЕМЕННОЙ ДЛЯ СТРЕЛЬБЫ В РАЗНЫХ НАПРАВЛЕНИЯХ

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

IMAGE_SINGLE - команда, которая в спрайте состоящем из нескольких изображений (фреймов), использует фрейм с определенным индексом.

Создаем спрайт для главного игрового персонажа в котором он расположен (смотрит) во всех 4 направлениях (вверх, вниз, влево и направо).

ОБРАТИТЕ ВНИМАНИЕ: Если Вы хотите чтобы Ваш игровой персонаж был анимированный, тогда придется использовать 4 мульти-фреймных (анимированных) спрайта, вместо одного спрайта с 4 персонажами развернутыми (смотрящими) в разные стороны. Рассматриваемая ниже методика не будет работать, при использовании более чем одного спрайта.

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

    ------------------------------ врезка -----------------------------
    <
    if (player.image_single = 0)
    <
    x = player.x+player.sprite_width/2-[ПШП];
    y = player.y-[ВП];
    direction = 90;
    >
    if (player.image_single = 1)
    <
    x = player.x+player.sprite_width;
    y = player.y+player.sprite_height/2-[ПВП];
    direction = 0;
    >
    if (player.image_single = 2)
    <
    x = player.x+player.sprite_width/2-[ПШП];
    y = y+player.sprite_height;
    direction = 270;
    >
    if (player.image_single = 3)
    <
    x = player.x-[ШП];
    y = player.y+player.sprite_height/2-[ПВП];
    direction = 180;
    >
    speed = 2
    >
    ---------------------------- врезка ---------------------------

[ШП] = Ширина Пули
[ВП] = Высота Пули
[ПШП] = Половина Ширины пули
[ПВП] = Половина Высоты Пули

Когда Вы будете добавлять ваши значения, НЕ используйте скобки [], только указывайте цифру.

    if (player.image_single=0)
    <
    x = player.x+player.sprite_width/2-[ПШП];
    y = player.y-[ВП];
    direction=90;
    >
    x = player.x+player.sprite_width/2-[ПШП];
    y = player.y-[ВП];
    direction = 90;

ОК с первой строкой разобрались. теперь давайте рассмотрим следующее уравнение.

Оставшиеся части изучаемого сценария несколько отличаются друг от друга, но тем не менее все они используют одни и те же 'правила поведения', а последняя строка сценария "speed=2" устанавливает скорость, с которой наша пуля перемещается, увеличивая данное значение мы увеличим скорость.

СОЗДАНИЕ ПАУЗЫ МЕЖДУ ВЫСТРЕЛАМИ

    ---------------------- врезка ---------------------
    <
    if (canshoot=1)
    <
    instance_create(x, y, bullet);
    alarm[0]=room_speed/2;
    canshoot=0;
    >
    >
    --------------------- врезка -----------------------

В заключении мы должны присвоить для переменной canshoot стартовое значение, иначе при использовании вышеприведенного сценария мы получим ошибку, для этого в событии CREATE объекта игрового персонажа добавляем действие X=2 с такими же установками, какие мы использовали в событии ALARM 0.

УНИЧТОЖЕНИЕ ПУЛИ, КОГДА ОНА ПРОПАДАЕТ ИЗ ВИДА

Единственную вещь которую не стоит забыть выполнить, это уничтожить пули улетающие за границы комнаты. Это очень просто сделать - используя действие 'Destroy the instance' (иконка с мусорным баком), поместив ее в событии OUTSIDE бъекта пули.

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

Если же у вас появится желание предложить на всеобщее обозрение свои уроки или просто интересную информацию по созданию игр при помощи GameMaker, то милости просим, присылайте свои работы на наш E-Mail, с указанием темы 'Tutorial' или непосредственным указанием на предмет урока. Мы обязательно опубликуем вашу работу на нашем сайте с обязательным указанием автора!

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

Каждая RPG игра должна иметь главного персонажа и врагов. В уроке мы создадим красивых и страшных врагов, которые будут следовать за нами, а также делать это с определенной анимацией.

Видеоурок

Для добавления врагов потребуется изображение персонажа (врага). Вы можете скачать свою собственную картинку в интернете или же сделать её самостоятельно. Если вы хотите использовать таких же врагов как в уроке, то можете скачать картинку ниже:

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

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

Хорошим видео-уроком грех не поделиться.

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

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