Суббота, 26.05.2012, 18:43


Приветствую Вас Гость

Меню сайта
Категории каталога
Создание игр [170]
Статьи об общих понятиях связанных с созданием игр
Движки и Гейммейкеры [85]
Статьи о программах для создания игр
Игры [39]
Статьи об играх, в том числе и сделанных на гейммейкерах
Софт [25]
Различные программы, в том числе в помощь игроделам
Разное [61]
Статьи, которые не вошли в определённые разделы
Наш опрос
На какие из этих игровые системы вы разрабатываете игры?
Всего ответов: 4629
Главная » Статьи » Движки и Гейммейкеры

Создание системы частиц в Game Maker
Приветствую всех пользователей портала! В ходе разработки моего проекта, я остановился на реализации эффектов. Знаю, что существует весьма хорошая система частиц, в которой можно создавать практически любые эффекты. Но создание этой системы занимает немалое время в плане написания кода, поэтому я решил, так сказать, заменить/упростить эту систему на более удобную. Ну чтож, давайте начнём разработку нашей с Вами системы! Оперировать мы будем всего-лишь с одним объектом и скриптом, создающий партиклы. Создаём объект o_eff, добавляем ему 2 события - Step и Draw. В Step пишем такой код:

Code
image_alpha -= life; //уменьшаем прозрачность на значение из переменной life
if image_alpha <= 0 {instance_destroy();} //удаляем объект, когда он станет невидимым
if radius_min < radius_max {radius_min += radius_up;} //увеличиваем размер партикла до максимального заданного

значения на значение переменной radius_up
Как видите, код отвечает за жизнь партикла и его размеры. Теперь откройте событие Draw и отрисуйте партикл.

Code
draw_set_alpha(alpha); //устанавливаем прозрачность из переменной alpha
draw_set_color(make_color_rgb(red, green, blue)); //устанавливаем цвет партиклов из переменных
draw_circle(x, y, radius_min, 0); //и рисуем сам партикл с радиусом radius_min

Как вы уже поняли, код отвечает за отрисовку партиклов, прозрачность, цвет и радиус. Объект/генератор частиц создан, но в нём полно неизвестных нам переменных, задавать значения которых мы будем скриптом. Создайте скрипт с именем make_particle и впишите туда следующий код:

Code
repeat (argument14) //арг14 - кол-во частиц, создаваемых за раз
{
  with instance_create(argument0, argument1, o_eff) //применяет действия к созданому объекту
  {
  speed = argument2; //скорость полёта
  direction = argument3; //направление
  life = argument4; //жизни
  alpha = argument5; //прозрачность
  clr = argument6; //один цвет для всех. Например (134,134,134) или (150,150,150).
  if argument13 == true {red = clr; green = clr; blue = clr;} //если параметр общего цвета истинна
  else //то присваиваем всем партиклам один заданный цвет, иначе
  {red = argument7; green = argument8; blue = argument9;} //присваиваем произвольный
  radius_max = argument11; //максимальный размер  
  radius_min = argument10; //начальный размер
  radius_up = argument12; //скорость увеличения размера до максимального
  }
}

Вот мы и присвоили всем переменным объекта o_eff значения. Всё, система готова! Теперь чтобы создать партиклы, используйте функцию

make_particle(xcoord,ycoord,spd,dir,life,alpha,colorall,red,green,blue,radius_min,radius_max,radius_up,usecolorall,amount);

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

На этом урок окончен. Спасибо за внимание!

Категория: Движки и Гейммейкеры | Добавил: Fade (26.07.2011)
Просмотров: 1473 | Рейтинг: 5.0/5
Теги: Урок, Кодинг, Частицы, Туториал, Статьи по Game Maker, Система частиц, уроки, Game Maker, GM, GML
Дополнительные опции:
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:

Игровые объявления и предложения:
Если вас заинтересовал материал «Создание системы частиц в Game Maker», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела. Предлагаются такие схожие материалы: Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями. Для этого воспользуйтесь предлагаемой ниже кнопкой:
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Ссылки по теме
Поиск
10 случайных движков
3D Rad
GameMaker: Studio
FIFE
GLHeretic
Mortal Szombat
OpenSceneGraph
Enigma
Vavoom
J.U.R.P.E.
Orx
Друзья сайта
Игровой форум GFAQ.ru Перевод консольных игр Разработка игр в СНГ Loadka.ru – загрузка файлов Игорный бизнес в России Реклама и заработок
Все права сохранены. GcUp.ru © 2008-2012 Рейтинг