Game Maker Language リファレンス > 組み込み関数 用途別 > パーティクル
あらかじめ定義されている映像表現(花火、立ち上る煙、爆発など)で充分な場合は、より簡単な「エフェクト」が使用できる。
より複雑な映像表現が必要な場合は、パーティクルの振る舞いを「パーティクルタイプ」として定義し「パーティクルシステム」の下で動作させる。
パーティクルの表示開始は「パーティクルシステム」に対して指示するが、
「エミッタ」を利用すると、ある領域に多数のパーティクルを出現させる、定常的に出現させる、といった表現の実装が容易になる。
「エフェクト」は自由度が低いが実装が容易であり、「パーティクル」は実装が複雑であるが自由度の高い演出が可能となる。
エフェクト †
シンプルなエフェクトの制御
パーティクルタイプ †
生成・破棄・存在チェック †
- part_type_create():パーティクルタイプの生成
- part_type_destroy()?:パーティクルタイプの破棄
- part_type_exists()?:パーティクルタイプの存在チェック
- part_type_clear()?:パーティクルタイプの消去
形状の指定 †
サイズ・スケール †
スタイル †
- part_type_color1():色を設定
- part_type_color2()?:色を設定(開始値と終了値、の2値指定版)
- part_type_color3()?:色を設定(開始値と中間値と終了値、の3値指定版)
- part_type_color_mix()?:色を設定
- part_type_color_rgb()?:色を設定
- part_type_color_hsv()?:色を設定
- part_type_alpha1()?:アルファ値を設定
- part_type_alpha2()?:アルファ値を設定(開始値と終了値、の2値指定版)
- part_type_alpha3()?:アルファ値を設定(開始値と中間値と終了値、の3値指定版)
- part_type_blend():ブレンドモードを設定
生存期間 †
- part_type_life():生存ステップ数を設定
- part_type_step()?:指定ステップ間隔で他のパーティクルを生み出す設定。(負数の場合は符号を取って逆数が生成確率として適用される)
- part_type_death()?:描画深度を設定
動き †
パーティクルシステム †
パーティクルシステムの生成・破棄 †
各種設定 †
- part_system_depth()?:depth値の設定
- part_system_position()?:座標を設定
更新・描画 †
- part_system_automatic_update()?:自動更新の設定(※OFFにすることでまとめて動きを止められる)
- part_system_automatic_draw()?:自動描画の設定(※OFFにすることでまとめて非表示にできる)
- part_system_update()?:パーティクルを強制更新する
- part_system_drawit()?:パーティクルの強制描画する
- part_system_draw_order()?:パーティクルシステム内でのパーティクルの描画順の設定
パーティクルの生成・消去 †
- part_particles_create():エミッタを使わずにパーティクルを生成
- part_particles_create_color()?:エミッタを使わずにパーティクルを生成(色指定)
- part_particles_clear()?:パーティクルの消去
- part_particles_count()?:パーティクルの生存数を取得する
エミッタ †
- part_emitter_create()?
- part_emitter_destroy()?
- part_emitter_destroy_all()?
- part_emitter_exists()?
- part_emitter_clear()?
- part_emitter_region()?
- part_emitter_burst()?
- part_emitter_stream()?
廃止された関数 †
パーティクルの生成後に変化を与える以下の関数は廃止された。
実行速度の速いグラフィック効果(graphical effects)を実現するというパーティクルの目的に反して、
速度低下をもたらすためである。
アトラクタ †
- part_attractor_create()?
- part_attractor_destroy()?
- part_attractor_destroy_all()?
- part_attractor_exists()?
- part_attractor_clear()?
- part_attractor_position()?
- part_attractor_force()?
デストロイヤ †
- part_destroyer_create()?
- part_destroyer_destroy()?
- part_destroyer_destroy_all()?
- part_destroyer_exists()?
- part_destroyer_clear()?
- part_destroyer_region()?
デフレクタ †
- part_deflector_create()?
- part_deflector_destroy()?
- part_deflector_destroy_all()?
- part_deflector_exists()?
- part_deflector_clear()?
- part_deflector_region()?
- part_deflector_kind()?
- part_deflector_friction()?
チェンジャ †
- part_changer_create()?
- part_changer_destroy()?
- part_changer_destroy_all()?
- part_changer_exists()?
- part_changer_clear()?
- part_changer_region()?
- part_changer_types()?
- part_changer_kind()?
サンプル †
エフェクト †
緑色の円が広がるエフェクトを生成する
effect_create_above(ef_ring, x, y, 1, c_lime);
パーティクル †
破片が飛び散り重力で落下するパーティクルを生成する (秒間ステップ数60で検証)
// 生成
particle = part_system_create(); // パーティクルシステムを生成
part1 = part_type_create(); // パーティクルタイプを生成
// タイプを設定
part_type_shape (part1, pt_shape_pixel ); // 形状をピクセルに指定
part_type_size (part1, 4, 4, -0.1, 1); // サイズを「4」に。少しずつ小さくなる
part_type_direction(part1, 0, 359, 0, 0); // 0〜359度にランダムで発生
part_type_life (part1, 30, 40 ); // 生存ステップ数は30〜40
part_type_gravity (part1, 0.25, 270 ); // 重力は0.3
part_type_speed (part1, 4, 8, -0.30, 0.01); // 初速は4〜8で少しずつ減速
// パーティクル生成
part_particles_create(particle, x, y, part1, 10); // 10個生成する
特定方向に飛び散る破片
particle = part_system_create(); // パーティクルシステムを生成
part1 = part_type_create(); // パーティクルタイプを生成
range = 60
dir_min = direction - 180 - range;
dir_max = direction - 180 + range;
// タイプを設定
part_type_shape (part1, pt_shape_pixel ); // 形状をピクセルに指定
part_type_size (part1, 1, 1, -0.1, 1); // サイズを「1」に。少しずつ小さくなる
part_type_direction(part1, dir_min, dir_max, 0, 0); // dir_min〜dir_maxにランダムで発生
part_type_life (part1, 30, 40 ); // 生存ステップ数は30〜40
part_type_gravity (part1, 0.25, 270 ); // 重力は0.25
part_type_speed (part1, 2, 4, -0.30, 0.01); // 初速は2〜4で少しずつ減速
part_type_color1 (part1, c_aqua ); // set color.
// パーティクル生成
part_particles_create(particle, x, y, part1, 4); // 4個生成する
Wiki内検索
#search(): You already view a search box
MENU
2ch
その他
最新の30件
2024-03-07
2023-08-09
2023-05-21
2023-05-20
2023-05-04
2022-10-13
2022-07-21
2022-07-02
2022-04-06
2021-11-30
2021-11-26
2021-10-03
2021-09-23
2021-08-15
2021-06-02
2021-01-23
2021-01-21
2021-01-19
2021-01-18
2021-01-16
2021-01-15
人気の10件
今日の10件
これまでの訪問者: 6592
今日の訪問者: 2
昨日の訪問者: 1
閲覧者: 4