グローバル関数とパーティクルクラス
- トップ
- > データの作成
- > プラグイン−パーティクル
- > グローバル関数とパーティクルクラス
グローバル関数
MakeInstance
クラスインスタンスを作成します。
この関数は編集する必要はありません。
__declspec(dllexport) cs2Particle* MakeInstance( ParticlePluginFunc* pf )
- 入力
- ParticlePluginFunc* pf
- システムから提供される関数群クラスのポインタ
- 出力
- cs2Particle*
- クラスへのポインタ
クラス名を[cs2Particle]以外に変更する場合は、出力を変更する必要があります。
パーティクルクラスのメンバ関数
このクラスを編集してパーティクルを作成します。
デフォルトのクラス名は[cs2Particle]です。
cs2Particle
cs2Particle::cs2Particle( )
入力・出力ともにありません。
クラスのコンストラクタです。
クラスの初期化が必要な場合はここに記述してください。
~cs2Particle
cs2Particle::~cs2Particle( )
入力・出力ともにありません。
クラスのデストラクタです。
クラスの終了処理(メモリ開放等)が必要な場合はここに記述してください。
Init
void cs2Particle::Init( LPINITPARAM p )
- 入力
- LPINITPARAM p
- 初期化用パラメータ
- 出力はありません。
パーティクルが実行される直前に呼ばれる関数です。
INITPARAM
- DWORD count
- パーティクル数
- float screen_width
- 画面の幅
- float screen_height
- 画面の高さ
- float width
- パーティクル画像の幅
- float height
- パーティクル画像の高さ
- float param[32]
- particle3コマンドで指定されたパラメータ列
Exec
void cs2Particle::Exec( LPEXECPARAM p, DWORD before, DWORD frame )
- 入力
- LPEXECPARAM p
- 実行用パラメータ
- DWORD before
- 前回実行時のフレーム値
- DWORD frame
- 現在のフレーム値
- 出力はありません。
パーティクル実行中に呼ばれる関数です。
毎フレーム呼ばれます。
処理落ち(フレーム落ち)対策の為、frame - before フレーム分を動かす必要があります。
EXECPARAM
- DWORD count
- パーティクル数
- float screen_width
- 画面の幅
- float screen_height
- 画面の高さ
- float width
- パーティクル画像の幅
- float height
- パーティクル画像の高さ
- float param[32]
- particle3コマンドで指定されたパラメータ列
Stop
void cs2Particle::Stop( LPSTOPPARAM p )
- 入力
- LPSTOPPARAM p
- 停止用パラメータ
- 出力はありません。
パーティクルが停止される直前に呼ばれる関数です。
STOPPARAM
- DWORD count
- パーティクル数
- float screen_width
- 画面の幅
- float screen_height
- 画面の高さ
- float width
- パーティクル画像の幅
- float height
- パーティクル画像の高さ
- float param[32]
- particle3コマンドで指定されたパラメータ列
パーティクルクラスのメンバ変数
メンバ変数に値を設定することでパーティクルを動かします。
LPPARTICLE lpParticle
パーティクル個々の設定が入っている構造体です。
PARTICLE構造体がパーティクル数並んでいます。
BLENDMODE BlendMode
パーティクルを画面に描画する際の合成方法を設定します。
BLENDMODE
- BM_NORM
- 通常の合成(デフォルト)
- BM_ADD1
- 加算合成1
- BM_ADD2
- 加算合成2
- BM_MUL
- 乗算合成
- BM_INV
- 転送先カラー反転
- BM_DBL
- 転送先カラー2倍
long nAttachPL
particle3 コマンドのパラメータ[アタッチ先プレーン]の値が入っています。
VEC3 vAttachPLBase
[アタッチ先プレーン]のベース座標が入っています。
VEC3 vAttachPLPos
[アタッチ先プレーン]の表示座標が入っています。
BOOL bAttachPLDisp
[アタッチ先プレーン]の表示状態(TRUE:表示 FALSE:非表示)が入っています。