d3mkparticle

パーティクル作成

d3mkparticle pid, r, g, b, arry

pid     : パーティクル ID (0 ~)
r, g, b : 作成するパーティクルの色 (RGB)
arry    : パーティクル形状 (default = 円形)

(プラグイン / モジュール : d3module)

解説

色や形状を指定してパーティクルを作成します。この命令を実行すると、指定した ID のパーティクルが描画できるようにます。(描画ではなく、パーティクル ID の登録を行います。)

この命令は実行にはやや時間がかかるため、初期化処理時にまとめて実行するようにしてください。パーティクル描画機能を使用すると、スクリーン ID 27 と 29 が d3module で内部的に使用されます。

第 1 パラメータ pid で、作成するパーティクルの ID を指定します。パーティクル ID の上限は特にありませんが、d3module 内部でのパーティクル画像の保持のため、使用した最大 ID * 90KB 程度のメモリが消費されますので注意してください。

第 2~4 パラメータ r, g, b で、パーティクルの色を指定します。RGB の値が 255 よりも大きい場合は、飽和計算で処理されます。(白飛びしたような画像になります。)

第 5 パラメータ arry にパーティクル形状の数列を格納した整数型の配列変数を指定することによって、さまざまな形状のパーティクルを作成できます。省略した場合、円形のパーティクルが作成されます。

arry 配列は、[繰り返し数], [シーケンス長], [半径シーケンス 0], [半径シーケンス 1] ... の順番で格納されます。[半径シーケンス (0, 1, ...)] には、パーティクルを多角形とみなしたときの、頂点の中心からの半径をプロットしていきます。値は、パーティクルの半径に対するパーセント値を整数で指定します。[シーケンス長] は、配列に格納された [半径シーケンス] の長さを指定します。[繰り返し数] は、半径シーケンスの繰り返し回数を指定します。

たとえば、周囲に 10 個のギザギザがある星型のパーティクルを作成する場合、配列は arr = 10, 2, 100, 80 のようになります。正三角形のパーティクルでは、arr = 3, 1, 100 のようになります。

サンプル

#include "d3m.hsp"

	; パーティクル作成

	; デフォルト パーティクル
	d3mkparticle  0,  255, 255, 255

	; デフォルト パーティクル (色飽和サンプル)
	d3mkparticle  1,  333, 555, 777

	; ギザギザ パーティクル
	arr = 10, 2, 100, 80
	d3mkparticle  2,  999, 255, 255,  arr

	; プロペラ?
	arr = 6, 6,  100, 90, 80, 70, 60, 50
	d3mkparticle  3,  255, 999, 255,  arr

	; 表示
	color : boxf
	color , 255
	gmode 5, , , 255

	d3setcam 0, -100, 0

	repeat 4
		x = cnt * 20 - 30
		y = 0
		z = 0

		d3mes "pid " + cnt, x, y, z + 20
		d3particle cnt, x, y, z, 10
	loop

関連項目

d3ldparticleパーティクル画像ロード(d3module)
d3particleパーティクル描画(d3module)

サンプル逆引き (13)

d3m_techdemo.hsp
sample_05_particle_basic.hsp
sample_06_snow_night.hsp
sample_07_snow_white.hsp
sample_08_ball.hsp
sample_18_poly_particle.hsp
xsample_amano.hsp
xsample_Astro.hsp
xsample_diamond.hsp
xsample_gimbal.hsp
xsample_Rocket.hsp
xsample_shiraho.hsp
xsample_verge.hsp

情報

プラグイン / モジュールd3module
バージョン1.68
作成日2018/06/01
著作者s.programs
URLhttp://spn.php.xdomain.jp/
http://spn.php.xdomain.jp/hsp_d3m.htm
備考d3m.hsp をインクルードする。
タイプユーザー拡張命令
グループ拡張描画命令
hs ファイルdoclib\d3module\d3mhelp.hs