Множество подпрограмм доступно для создания новых типов частиц и последующего их уничтожения:
part_type_create() Создаёт новый тип частицы. Это возвращает индекс типа. Этот индекс должен использоваться во всех запросах ниже, чтобы установить свойства типа частицы. Так что Вы будете часто хранить это в глобальной переменной.
part_type_destroy(ind) Уничтожает тип частицы ind. Вызовите это, если Вам не нужно больше сохранять пространство.
part_type_exists(ind) Возвращает при существующем обозначенном типе частицы.
part_type_clear(ind) Очищает тип частицы ind на установку по умолчанию.
Вы устанавливаете форму, используя следующую функцию:
part_type_shape(ind,shape) Устанавливает форму типа частицы к любой из констант выше (по умолчанию - pt_shape_pixel).
Вы можете также использовать свой собственный спрайт для частицы. Если спрайт имеет многократные кадры, то Вы можете указать, что именно должно с ними случиться. Вы можете выбрать случайность, анимацию спрайта, запуск анимации в произвольном месте и т.д. Вы будете использовать для этого следующую функцию.
part_type_sprite(ind,sprite,animat,stretch,random) Устанавливает Ваш собственный спрайт для типа частицы. Если он анимированный, то Вы указываете, должен ли спрайт быть анимированным (1) или нет (0). Со stretch (1 или 0) Вы указываете, должна ли анимация быть задействована на протяжении всей жизни частицы. И с random (1 или 0) Вы можете указать, должен ли случайный кадр быть выбран как стартовое изображение.
Как только Вы получите выбранный спрайт для типа частицы (или по умолчанию форму, также вашу собственную), Вы может указать размер для него. Размер 1 - указывает обычный размер спрайта. Тип частицы может быть определён так, чтобы все частицы имели одинаковые или разные размеры. Вы можете указать диапазон размеров. Также, Вы можете указать, должен ли размер изменяться на протяжении всей жизни частицы с некоторой подвижностью в размере, давая при этом эффект мерцания.
part_type_size(ind,size_min,size_max,size_incr,size_wiggle) Устанавливает параметры размера для типа частицы. Вы определяете минимальный начальный размер, максимальный начальный размер, увеличение размера в каждом шаге (используйте отрицательное число для уменьшения в размере) и количество подвижности. (По умолчанию размер 1 и по умолчанию он не изменяется.)
part_type_scale(ind,xscale,yscale) Устанавливает горизонтальный и вертикальный масштаб. Этот фактор умножается с размером. В особенности полезно, когда Вы должны измерить масштабирование по-другому в x и y направлении.
Частицы также имеют ориентацию. Опять же, ориентация может быть одинаковой для всех частиц, а может и отличаться, и может изменяться целая жизнь спрайта. Углы определяются против часовой стрелки вращения, в градусах.
part_type_orientation(ind,ang_min,ang_max,ang_incr,ang_wiggle,ang_relative) Устанавливает свойства угла ориентации для типа частицы. Вы определяете минимальный угол, максимальный угол, увеличение в каждом шаге и количестве подвижности в угле. (По умолчанию 0.) Вы можете также указать, должен ли данный угол быть относительным (1) к текущему направлению движения или абсолютным (0). Например, установив все значения на 0, но ang_relative установили на 1, то ориентация частицы будет точно следовать за путём частицы.
По умолчанию цвет белый. Когда Вы используете спрайт с его собственными цветами, это обычно то, что Вы хотите, и никакой цвет не должен быть определён.
part_type_color1(ind,color1) Указывает единственный цвет, который используется для частицы.
part_type_color2(ind,color1,color2) Определяет два цвета, между которыми цвет будет интерполирован.
part_type_color3(ind,color1,color2,color3) Подобно, но на сей раз цвет интерполируется между тремя цветами, которые представляют цвет в начале, в середине и в конце.
part_type_color_mix(ind,color1,color2) С этой функцией Вы указываете, что частица получит цвет, который будет получен из смеси двух указанных цветов. Этот цвет останется фиксированным целую жизнь частицы.
part_type_color_rgb(ind,rmin,rmax,gmin,gmax,bmin,bmax) Может использоваться, чтобы указать, что каждая частица должна иметь установленный цвет, но выбирается из диапазона. Вы определяете диапазон в красном, зелёном и синем компоненте цвета (каждый между 0 и 255).
part_type_color_hsv(ind,hmin,hmax,smin,smax,vmin,vmax) Может использоваться, чтобы указать, что каждая частица должна иметь установленный цвет, но выбирается из диапазона. Вы определяете диапазон в цветности, насыщенности и значении цвет (каждый между 0 и 255).
Помимо цвета Вы можете также задать значение альфа прозрачности. Встроенная частица формирует уже готовую некоторую альфа прозрачность, но Вы можете использовать эти назначения, чтобы, например, заставить частицу исчезать в течение всей жизни.
part_type_alpha1(ind,alpha1) Устанавливает единственный параметр альфа прозрачности (0-1) для типа частицы.
part_type_alpha2(ind,alpha1,alpha2) Подобно, но на сей раз начало и окончание задаются, и альфа значение интерполируется между ними.
part_type_alpha3(ind,alpha1,alpha2,alpha3) На сей раз задаются три значения, между которыми альфа прозрачность будет интерполирована.
Обычно, частицы смешиваются с фоном также как и спрайты. Но также возможно использовать совокупное смешивание. Это предоставит в особенности большой эффект для взрыва.
part_type_blend(ind,additive) Устанавливает использование дополнительного смешивания (1) или обычного смешивания (0) для типа частицы.
part_type_life(ind,life_min,life_max) Устанавливает пожизненные ограничители для типа частицы. (По умолчанию оба 100.)
part_type_step(ind,step_number,step_type) Устанавливает количество и тип частиц, которые должны быть произведены в каждом шаге для обозначенного типа частицы. Если Вы используете отрицательное значение, то в каждом шаге частица будет произведена с шансом -1/количество. Так, например, со значением -5 частица будет произведена в среднем каждые 5 шагов.
part_type_death(ind,death_number,death_type) Устанавливает количество и тип частиц, которые должны быть произведены, когда частица указанного типа умирает. Снова Вы можете использовать отрицательные числа, чтобы создать частицу со специфическим шансом воспроизведения. Обратите внимание, что эти частицы создаются только тогда, когда частица умирает в конце своей жизни, не тогда, когда она умирает из-за разрушителя (смотрите ниже).
part_type_speed(ind,speed_min,speed_max,speed_incr,speed_wiggle) Устанавливает свойства скорости для типа частицы. (По умолчанию значения равны 0.) Вы определяете минимальную и максимальную скорость. Случайное значение между заданными ограничителями выбирается, когда частица создаётся. Вы можете указать увеличение скорости в каждом используемом шаге отрицательного числа, чтобы замедлить частицу (скорость никогда не будет меньше чем 0). Наконец, Вы можете указать некоторое количество смещения скорости.
part_type_direction(ind,dir_min,dir_max,dir_incr,dir_wiggle) Устанавливает свойства направления для типа частицы. (По умолчанию значения равны 0.) Вы снова определяете диапазон направлений (против часовой стрелки, в градусах; 0 указывает движение направо). Например, чтобы позволить движению частицы в случайном направлении нужно выбрать 0 и 360 как значения. Вы можете определить увеличение в направлении для каждого шага, и количество смещения.
part_type_gravity(ind,grav_amount,grav_dir) Устанавливает свойства гравитации для типа частицы. (По умолчанию гравитация отключена.) Вы определяете некоторое количество гравитации, которое будет добавлено в каждом шаге и направлении. Например, используйте 270 для направления вниз.