;============================================================ ; 2005/--/-- ; d3module sample script ; for HSP 3.0 ; ;============================================================ ; ; 夜の雪をイメージしたパーティクル描画のサンプルです。 ; ; 大き目の弱い加算合成のパーティクルで青い光を作り、その上に ; 小さめのパーティクルの雪を重ねて描画しています。 ; ;============================================================ #include "d3m.hsp" title "S.Programs d3module sample" ; 使用するパーティクルを作成 d3mkparticle 0, 255, 255, 255 ; 白 d3mkparticle 1, 64, 192, 255 ; 青 *mainloop ct++ redraw 0 color , 8, 24 boxf ; カメラ座標を回転させる (上向き) d3setcam cos(0.01 * ct) * 2000, sin(0.01 * ct) * 2000, 0, 0, 0, 1000 ; パーティクルを描画 randomize 0 repeat 500 x = rnd(8000) - 4000 y = rnd(8000) - 4000 z = rnd(8000) v = rnd(50) + 50 z = (ct * v + z) \ 8000 - 8000 ; 雪の後ろの光彩 gmode 5, , , 64 d3particle 1, x, y, -z, 150 ; 雪パーティクル gmode 5, , , 255 ;------------------------------------------------------------ ; 前回描画位置にパーティクルを描画 d3particlem 0, 50 ; │ └ 描画するパーティクルの半径 ; └ パーティクル ID ;------------------------------------------------------------ loop redraw await 30 goto *mainloop