sample\d3m\sample_17_poly_particle.hsp » Plain Format
;============================================================ ; 2006/--/-- ; d3module sample script ; for HSP 3.0 ; ;============================================================ ; ; d3mkparticle 命令での、自由形状パーティクルのサンプルです。 ; ; d3mkparticle 命令の第 5 パラメータを使用すると、円形の ; パーティクルだけでなく、三角形、星型、ランダム放射型など ; さまざまな形状のパーティクルをプログラマブルに ; 定義することができます。 ; ;============================================================ #include "d3m.hsp" title "S.Programs d3module sample" ; パーティクル作成 ; (作成するパーティクルの複雑度に応じて、d3mkparticle の実行に時間がかかります。) ; ランダム放射形 repeat 100 arr(cnt) = rnd(50) + 50 loop arr = 1, 47 d3mkparticle 0, 300, 300, 600, arr ; ×型 arr = 4, 4, 30, 30, 140, 30 d3mkparticle 1, 200, 200, 400, arr ; 星 arr = 5, 2, 100, 45 d3mkparticle 2, 500, 500, 100, arr ; サクラ arr = 5, 6, 80, 100, 75, 40, 75, 100 d3mkparticle 3, 400, 200, 200, arr ; プロペラ arr = 7, 6, 100, 90, 80, 70, 60, 50 d3mkparticle 4, 300, 300, 300, arr *mainloop time = d3timer() redraw 0 color : boxf ; カメラ座標を回転させる d3setcam cos(0.001 * time) * 1000, sin(0.001 * time) * 1000, cos(0.0003 * time) * 500 ; パーティクル描画時のコピーモードを設定 gmode 5, , , 224 ; パーティクルを描画 randomize 0 repeat 100 x = rnd(1000) - 500 y = rnd(1000) - 500 z = rnd(1000) - 500 d3particle rnd(5), x, y, z, 90 loop redraw 1 await goto *mainloop