Главная » Статьи » Game maker [ Добавить статью ]

Game Maker - Создание Оружия (Огнемет)
С чего стоит начать создание нового образца оружия?

Сперва наперво нам понадобится спрайт оружия - именно из его дула будет валить огонь. Внешний вид огнемета зависит исключительно от фантазии автора.

Теперь нужно изобразить само пламя:
Мы в праве выбрать способ распространения огня:

1) Огонь вырывается из дула "фонтаном" - сжигает обьекты поблизости.
В этом случае анимацией огня будет хаотическое движение язычков пламени.

2) Огонь, в форме облак - покидает ствол и пролетая определенную дистанцию исчезает. Для анимации достаточно использовать вращение(по часовой стрелке, против).

Когда графические подготовки окончены переходим к самому коду.

Код огнемета:

CREATE

Code
Mouse = 0 // Если мы хотим, чтоб стрельба велась в сторону мыши создаем данную переменную.
Face=1 // Куда направлен огнемет

STEP

Code
Mouse=point_direction(x,y,mouse_x,mouse_y) // Указываем, что Mouse это местонахождение курсора мыши.

GLOBAL LEFT BUTTON (Огонь, в форме облак )

Code
instance_create(x+lengthdir_x(50,Mouse),y+lengthdir_y(50,Mouse),flame) // создаем огонь - flame - обьект

DRAW

Завершальный штрих - прописываем, чтоб огнемет нормально отображался и проворачивался.

Code
draw_sprite_ext(flamethrower,Face+1,x,y+8,1,1,Mouse,c_white,1); // flamethrower - спрайт огнемета

Код огня:

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

CREATE

Code
direction=Flamer.Mouse+random(14)-random(14) // Flamer - обьект огнемет. Указываем в каком направление будет двигаться огонь *

speed=15+random(15) // Скорость перемещения огня

STEP

Для создания простенького огня данных строк вполне хватит:

Code
image_angle=direction // Пламя будет поворачиваться в определенную сторону

image_alpha-=0.10 // Изображение пламени постепенно становится прозрачным

if image_alpha<0{instance_destroy()}

DRAW

Чтобы пламя отображалось прописываем:

Code
draw_set_blend_mode(bm_add)
draw_sprite_ext(sprite_index,image_single,x,y,1,1,image_angle,c_white,image_alpha)
draw_set_blend_mode(bm_normal)

Результат будет таковым:

Примечания:

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

Данный код отлично работает как в играх с видом сбоку так и с видом сверху.

Категория: Game maker | Добавил: АДМИН (2012/Июн/26) | Автор: AGDMFG
Просмотров: 1931 | Теги: урок, спрайты, Game Maker, GML, оружие, конструктор игр, Статья, скрипты, Гм, Огнемет | Рейтинг: 5.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]