3dtest

  • タグ:
  • タグはありません
#include "d3m.hsp"//おまじない
randomize
/////////////////////////////////////////////
/////////////////////////////////////////////
repeat
title "fps, "+d3getfps()+" "+x+" "+y+" "+z
d3setcam 130,10,60,,,40//カメラ位置
	;オブジェクト描画
	repeat 2
		; 影描画モード
		if cnt = 0 {
			; 平行光線による影をイメージしたローカル座標系を設定
			;  (x, y それぞれに z を 2 倍した成分を与え、長く伸ばす)
			d3setlocal 0,0,0,  1,0,-2,  0,1,2,  0,0,0
			; 影色
			color 0.7 * 255, 0.7 * 160, 0.7 * 80
		}
		; 本体描画モード
		if cnt = 1 {
			; cnt = 0 で描画した影画像をぼかす
			gmode 3, , , 128
			pos -2, 0 
			gcopy 0, 0, 0, ginfo_winx, ginfo_winy
			pos 0, -1 
			gcopy 0, 0, 0, ginfo_winx, ginfo_winy
			; ローカル座標系設定 (リセット)
			d3setlocal
			; 本体色
			color 200, 0, 0
		}
		; オブジェクト描画
		d3box x, y, z, x + 10, y + 10, z + 10
		d3arrow  100, 0, 0,   -100, 0, 0
		d3arrow  0, 100, 0,   0, -100, 0
		d3arrow  0, 0, 100,   0, 0, -100
		d3mes "X",  50, 0, 0
		d3mes "Y",  0, 50, 0
		d3mes "Z",  0, 0, 50	
	loop
/////////////////自機移動///////////////////////////////
	getkey keyl,37	;←キーを取得
	getkey keyr,39	;→キーを取得
	getkey keyu,38	;↑キーを取得
	getkey keyd,40	;↓キーを取得
	getkey keys,32  ;sキーを取得
	if keyl=1 :	y--	    ;←が押されたら←に移動
	if keyu=1 :	z++     ;↑が押されたら↑に移動	
	if keyd=1 : z--     ;↓が押されたら↓に移動
	if keyr=1 : y++     ;→が押されたら→に移動
;;;;;;;;;;;;;;;;;;移動範囲;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;	
	z=limit(z,0,95)
	y=limit(y,-80,70)	
////////////////////////初期化////////////////////////////
	redraw 1
	await fps
	redraw 0
	color 255,255,255
	boxf
	color ,,
loop
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////