sample_06_snow_night.hsp

sample\d3module\sample_06_snow_night.hsp » Plain Format

;============================================================
;                                                 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