Реклама в Интернет       Все Кулички
Искусство создания игр
head

Сделать стартовой

С помощью Системы Частиц Вы можете создавать специальные эффекты. Частицы являются небольшими элементами (представленные небольшим спрайтом, пикселем или небольшой формой). Такие частицы перемещаются вокруг в зависимости от встроенных правил и могут изменять цвет при перемещении. Множество частиц собранных вместе могут создать: фейерверки, пламя, дождь, снег, звёздные области, полёт обломков и т.п.

Game Maker содержит расширенную систему частиц, которая может быть использована для создания больших эффектов. Это всё же не тривиально. Чтобы использовать частицы - тщательно изучите этот раздел.

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

Системы частицы имеют много параметров, и не всегда легко понять, как создавать желаемые эффекты. Прежде всего, имеются ещё типы частиц. Тип частиц определяется конкретным типом частицы. Такие типы имеют много параметров, которые описывают форму, размер, цвет и движение частиц. Типы частиц должны быть определены только единожды, и могут тогда использоваться в игре всюду.

Во-вторых, имеются Системы Частиц. В игре могут быть различные системы частиц. Система частиц может иметь частицы различных типов. Система частиц имеет эмитенты, которые создают частицы; или непрерывно или при взрывах. Они также могут иметь аттракторы, которые притягивают частицы. Наконец, они могут иметь разрушители, которые уничтожают частицы. Как только частицы будут созданы в системе частицы, они автоматически будут прооперированы (обновлены и нарисованы) системой.

Простые частицы

Типы частиц

Системы частиц

Эмитенты

Аттракторы

Разрушители

Дефлекторы

Чейнджеры

Простые частицы

 

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

Есть множество различных видов эффектов:

  • · ef_explosion
  • · ef_ring
  • · ef_ellipse
  • · ef_firework
  • · ef_smoke
  • · ef_smokeup
  • · ef_star
  • · ef_spark
  • · ef_flare
  • · ef_cloud
  • · ef_rain
  • · ef_snow
  • Некоторые Вы захотите создать только однажды (подобно взрыву), а некоторые, Вы захотите создать в каждом шаге (подобно дыму или дождю). Обратите внимание, что дождь и снег всегда создаются сверху комнаты, так как другая позиция неуместна для этих эффектов.
  • Даже притом, что это может подразумевать некоторое ограничение, эти эффекты могут фактически использоваться, чтобы создать большие эффекты. Например, создать ленточку небольшого красного дыма снизу двигающегося космического корабля в каждом шаге, создание хвоста огня. Для создания таких эффектов существуют две следующие функции:

     

    effect_create_below(kind,x,y,size,color) Создаёт эффект заданного вида (смотрите выше) в указанной позиции. size - задаёт размер следующим образом: 0 = маленький, 1 = средний, 2 = большой. color - указывает цвет для использования. Эффект создаётся нижними образцами, то есть в глубине 100000.
    effect_create_above(kind,x,y,size,color) Подобно предыдущей функции, но на сей раз эффект создаётся верхними образцами, то есть в глубине -100000.Если Вы хотите удалить все эффекты, вызовите следующую функцию: effect_clear() Очищает все эффекты.

     

    Типы частиц

     

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

    Множество подпрограмм доступно для создания новых типов частиц и последующего их уничтожения:

     

    part_type_create() Создаёт новый тип частицы. Это возвращает индекс типа. Этот индекс должен использоваться во всех запросах ниже, чтобы установить свойства типа частицы. Так что Вы будете часто хранить это в глобальной переменной.
    part_type_destroy(ind) Уничтожает тип частицы ind. Вызовите это, если Вам не нужно больше сохранять пространство.
    part_type_exists(ind) Возвращает при существующем обозначенном типе частицы.
    part_type_clear(ind) Очищает тип частицы ind на установку по умолчанию.

    Форма частицы

    Частица имеет форму. Эта форма указывается спрайтом. Вы можете использовать любой желаемый спрайт для ваших частиц, но имеется 15 встроенных спрайтов. Они имеют размер 64x64 и имеют установки альфа величин, благодаря чему красиво смешиваются с фоном. Они указаны следующими константами:

    • · pt_shape_pixel
    • · pt_shape_disk
    • · pt_shape_square
    • · pt_shape_line
    • · pt_shape_star
    • · pt_shape_circle
    • · pt_shape_ring
    • · pt_shape_sphere
    • · pt_shape_flare
    • · pt_shape_spark
    • · pt_shape_explosion
    • · pt_shape_cloud
    • · pt_shape_smoke
    • · pt_shape_snow

     

    Вы устанавливаете форму, используя следующую функцию:

     

    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 для направления вниз.

     

    Системы частиц

     

    Частицы живут в системах частиц. Чтобы поместить частицы в свою игру, Вам нужно создать одну или более систем частиц. Может быть создано много различных систем частиц. Например, если Ваша игра имеет множество шаров, и каждый шар должен иметь хвосты с частицами. Наиболее вероятно, что каждый шар имеет собственную систему частиц. Легчайший путь: системы частиц создают сначала одну частицу, затем создают частицы в ней, используя типы частицы, которых Вы первоначально определяете. Но, как мы увидим ниже, системы частиц могут содержать; эмитенты, которые автоматически производят частицы; аттракторы, которые притягивают их; и разрушители, которые их уничтожают.

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

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

    Следующие функции взаимодействуют с системами частиц:

    part_system_create()

     Создаёт новую систему частиц. Возвращает идентификатор типа. Этот идентификатор должен быть использован во всех нижеуказанных функциях, чтобы устанавливать свойства системы частиц.
    part_system_destroy(ind)

    Уничтожает систему частиц с именем ind. Выберите это, если Вам больше не нужна система частиц, чтобы сохранить пространство.
    part_system_exists(ind)

     Возвращает, если указанная система частиц существует.
    part_system_clear(ind)

    Очищает систему частицы с именем ind на установки по умолчанию, удаляя в ней все имеющиеся частицы, эмитенты и аттракторы.
    part_system_draw_order(ind,oldtonew)

    Устанавливает порядок, в котором система частиц рисует частицы. Когда oldtonew - истина, то старшие частицы рисуются первые, а новые частицы располагаются cверху них (по умолчанию). В противном случае новые частицы создаются сначала, что может привести к другим эффектам.
    part_system_depth(ind,depth)

     Устанавливает глубину системы частиц. Это может использоваться, чтобы позволить частице появляються позади, впереди или между образцами.
    part_system_position(ind,x,y)

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

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

    part_system_automatic_update(ind,automatic)

    Указывает, должна ли система частицы быть обновлена автоматически (1) или нет (0). По умолчанию 1.
    part_system_automatic_draw(ind,automatic)

    Указывает, должна ли система частицы быть перерисована автоматически (1) или нет (0). По умолчанию 1.
    part_system_update(ind)

    Это функция обновляет позицию всех частиц в системе и позволяет эмитентам создавать частицы. Вы только вызвать эту функцию в том случае, когда обновление не является автоматическим. (Хотя иногда также полезно вызвать эту функцию через некоторое время, чтобы получить движение системы.)
    part_system_drawit(ind)

    Эта функция рисует частицы в системе. Вы только вызвать эту функцию в том случае, когда рисование не является автоматическим. Функция должна быть вызвана в событии рисования некоторого объекта.

    Следующие функции в системах частиц взаимодействуют с частицами:

    part_particles_create(ind,x,y,parttype,number)

    Создаёт некоторое количество number частиц указанного типа ind в позиции (x,y) в системе.
    part_particles_create_color(ind,x,y,parttype,color,number)

     Эти функции создаёт количество number частиц указанного типа в позиции (x,y) в системе с указанным цветом. Это полезное только когда тип частицы определяет единственный цвет (или не определяет цвет совсем).
    part_particles_clear(ind)

    Удаляет все частицы из системы.
    part_particles_count(ind)

    Возвращает количество частиц в системе.

     

    Эмитенты

     

    Эмитенты создают частицы. Они могут или создавать непрерывный поток частиц, или могут создавать вспыхивающее количество частиц при использовании соответствующей функции. Система частиц может иметь произвольное количество эмитентов. Эмитент имеет следующие свойства:

    · xmin, xmax, ymin, ymax указывает расширение региона, в котором частицы будут сгенерированы.

    · shape указывает форму региона. Она имеет следующие значения:

    · ps_shape_rectangle

    · ps_shape_ellipse

    · ps_shape_diamond

    · ps_shape_line

    · distribution указывает распределение, используемое для генерирования частиц. Может иметь следующие значения:

    · ps_distr_linear указывает линейное распределение, которое везде в регионе имеет равный случай

    · ps_distr_gaussian указывает обычное распределение, в котором частицы генерируются больше в центре, чем на сторонах региона

    · particle type указывает тип сгенерированных частиц

    · number указывает количество частиц, сгенерированных в каждом шаге. Если меньше чем 0, то в каждом шаге частица генерируется случай -1/число. Так, например, с величиной -5, частица генерируется в среднем числе через каждые 5 шагов.

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

    part_emitter_create(ps) Создаёт эмитент для указанной системы частиц с идентификатором ps. Возвращает идентификатор созданного эмитента.
    part_emitter_destroy(ps,ind) Уничтожает эмитент с идентификатором ind, который находится в системе частиц с идентификатором ps.
    part_emitter_destroy_all(ps) Уничтожает все эмитенты, существующие на данный момент в системе частиц с идентификатором ps.
    part_emitter_exists(ps,ind) Возвращает, если эмитент с идентификатором ind существует в системе частиц с идентификатором ps.
    part_emitter_clear(ps,ind) Очищает настройки эмитента а с идентификатором ind установленных по умолчанию.
    part_emitter_region(ps,ind,xmin,xmax,ymin,ymax,shape,distribution) Устанавливает регион и распределение для эмитента.
    part_emitter_burst(ps,ind,parttype,number) Взрывается, как только количество частиц number указанного типа вырывается из эмитента.
    part_emitter_stream(ps,ind,parttype,number) Создаёт количество number частиц указанного типа из эмитента в каждом шаге. Если Вы указываете число меньше чем 0, то в каждом шаге частица генерируется случаем -1/число. Например, с величиной -5, частица генерируется в среднем числе через каждые 5 шагов.

     

    Аттракторы

     

    Кроме эмитентов, система частицы может содержать аттракторы. Аттракторы притягивают частицы (или их отталкивают). Система частиц может иметь множество аттракторов. Мы всё же рекомендуем использовать несколько аттракторов, поскольку больщое количество замедляет обработку частиц. Аттракторы имеют следующие свойства:

    · x,y указывает позицию аттрактора.

    · force указывает силу притяжения аттрактора. Как действует усилие в частицах, зависит от следующих параметров.

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

    · kind указывает тип аттрактора. Существуют следующие значения

    · ps_force_constant указывает, что усилие является константой независимой от расстояния.

    · ps_force_linear указывает линейный рост усилия. На максимальном расстоянии усилие 0, тогда как в позиции аттрактор достигает заданной величины.

    · ps_force_quadratic указывает, что усилие возрастает в квадрате.

    · additive отражает, влияет ли сила действия аттрактора на скорость и направление частиц в каждом шаге (истина) или только единожды (ложь). Когда добавляется частица - она ускоряется к аттрактору, тогда как "недобавляемая" перемещается к нему с постоянной скоростью.

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

    part_attractor_create(ps) Cоздаёт аттрактор в системе частиц с идентификатором ps. Возвращает идентификатор созданного аттрактора. Этот идентификатор должен быть использован во всех нижеуказанных вызовах, чтобы устанавливать свойства эмитента.
    part_attractor_destroy(ps,ind) Уничтожает аттрактор с идентификатором ind. Используйте это, если Вам больше не нужна эта частица, чтобы сохранить память.
    part_attractor_destroy_all(ps) Уничтожает все созданные аттракторы в системе частицы.
    part_attractor_exists(ps,ind) Возвращает, если в системе частиц сушествует указанный аттрактор.
    part_attractor_clear(ps,ind) Очищает аттрактор ind на установки по умолчанию.
    part_attractor_position(ps,ind,x,y) Устанавливает аттрактор с идентификатором ind, существующий в системе частиц с координатами (x,y).
    part_attractor_force(ps,ind,force,dist,kind,aditive) Устанавливает соответствующие параметры для аттрактора с идентификатором ind.

     

    Разрушители

     

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

    · xmin, xmax, ymin, ymax указывает расширение региона, в котором частицы уничтожаются.

    · shape указывает форму региона. Устанавливает регион для разрушителя. Может иметь следующие значения:

    · ps_shape_rectangle

    · ps_shape_ellipse

    · ps_shape_diamond

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

    part_destroyer_create(ps) Создаёт новый разрушитель в заданной системе частицы. Это возвращает идентификатор типа. Этот идентификатор должен быть использован во всех нижеуказанных вызовах, чтобы устанавливать свойства разрушителя.
    part_destroyer_destroy(ps,ind) Уничтожает разрушитель ind в системе частицы. Используйте это, если Вам не нужен больше этот разрушитель, чтобы сохранить память.
    part_destroyer_destroy_all(ps) Уничтожает все созданные разрушители в системе частицы.
    part_destroyer_exists(ps,ind) Возвращает, если указанный разрушитель существует в системе частиц.
    part_destroyer_clear(ps,ind) Очищает разрушитель ind на установки по умолчанию.
    part_destroyer_region(ps,ind,xmin,xmax,ymin,ymax,shape) Устанавливает регион для разрушителя.

     

    Дефлекторы

     

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

    · xmin, xmax, ymin, ymax указывает расширение региона, в котором частицы будут оттолкнуты.

    · kind указывает тип дефлектора. Может иметь следующие значения:

    · ps_deflect_horizontal отталкивает частицу по горизонтали; обычно используется для вертикальных стен

    · ps_deflect_vertical отталкивает частицу по вертикали; обычно используется для горизонтальных стен

    · friction содержит коэффициент трения, используемый при просчёте столкновения частицы и дефлектора.

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

    part_deflector_create(ps) Создаёт новый дефлектор в заданной системе частиц. Это возвращает идентификатор типа. Этот идентификатор должен быть использован на всех нижеуказанных вызовах, чтобы устанавливать свойства дефлектора.
    part_deflector_destroy(ps,ind) Уничтожает дефлектор ind в системе частиц. Используйте это, если Вам не нужен больше этот дефлектор, чтобы сохранить память.
    part_deflector_destroy_all(ps) Уничтожает все созданные дефлекторы в системе частиц.
    part_deflector_exists(ps,ind) Возвращает, если указанный дефлектор существует в системе частиц.
    part_deflector_clear(ps,ind) Очищает дефлектор ind на установки по умолчанию.
    part_deflector_region(ps,ind,xmin,xmax,ymin,ymax) Устанавливает регион для дефлектора.
    part_deflector_kind(ps,ind,kind) Устанавливает тип для дефлектора.
    part_deflector_friction(ps,ind,friction) Устанавливает силу трения для дефлектора.

     

    Чейнджеры

     

    Чейнджеры изменяют определённые частицы, когда они появляются в своем регионе. Система частицы может иметь произвольное количество чейнджеров. Чейнджер имеет следующие свойства:

    · xmin, xmax, ymin, ymax указывает расширение региона, в котором частицы будут изменяться.

    · shape указывает форму региона. Может иметь следующие значения:

    · ps_shape_rectangle

    · ps_shape_ellipse

    · ps_shape_diamond

    · parttype1 указывает тип, который изменён чейнджером частицы.

    · parttype2 указывает тип частицы, который получается после изменения частицы.

    · kind указывает тип чейнджера. Может иметь следующие значения:

    · ps_change_motion изменяет только параметры движения частицы (не цвета, формы и установки продолжительности жизни)

    · ps_change_shape изменяет только параметры подобно размеру, цвету и форме

    · ps_change_all изменяет все параметры; это в основном означает, что частица уничтожена и будет создан следующий новый тип.

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

    part_changer_create(ps) Создаёт новый чейнджер в заданной системе частиц. Это возвращает идентификатор типа. Этот идентификатор должен быть использован во всех нижеуказанных вызовах, чтобы устанавливать свойства чейнджера.
    part_changer_destroy(ps,ind) Уничтожает чейнджер с именем ind в системе частиц. Используйте это, если Вам не нужен больше этот чейнджер, чтобы сохранить память.
    part_changer_destroy_all(ps) Уничтожает все созданные чейнджеры в системе частицы.
    part_changer_exists(ps,ind) Возвращает, если указанный чейнджер существует в системе частиц.
    part_changer_clear(ps,ind) Очищает чейнджер с именем ind на установки по умолчанию.
    part_changer_region(ps,ind,xmin,xmax,ymin,ymax,shape) Устанавливает регион для чейнджера.
    part_changer_types(ps,ind,parttype1,parttype2) Устанавливает, какой тип частицы чейнджера должен быть изменён другим типом.
    part_changer_kind(ps,ind,kind) Устанавливает тип для чейнджера.

    Rambler's Top100

    Requier inc. 2007