skybox.hsp

sample\hgimg3\skybox.hsp » Plain Format

#include "hgimg3.as"

	;	空と地面
	;	空のオブジェクト(sky)は通常のクリップ範囲の外に表示されます。
	;	独立した背景を3Dモデルで用意する場合のサンプルです。
	;
	screen 0,640,480,0
	cls 4
	hgini

	;	テクスチャフォント表示の準備
	;
	setfont 16,16,12,1	; font Tex select(cx,cy,px,mode)
	texload "fontchr.bmp"	; フォントテクスチャの登録
	;
	clscolor $80

	cammode CAM_MODE_NORMAL
	setdir HGOBJ_CAMERA, 0, -20, 0
	setpos HGOBJ_CAMERA, 0, -70, 0
	setangr HGOBJ_CAMERA, -2, 0, 0
	setefx HGOBJ_CAMERA, 1.28539816, 0.5f, 420.0f	; fov,near,far

	;	SKY:青空
	;
	addxfile m_sky,"skybox.x"
	modelshade m_sky,0
	regobj sky, m_sky
	setscale sky,30,30,30
	setpos sky,0,20,0
	setefx sky,$500			; Zバッファを更新しない
	objproj sky,1			; 通常のZクリップを無効にする

	setdir HGOBJ_LIGHT,100,100,100
	setang HGOBJ_LIGHT, -1.0, -1.0, 0.0

	;	BG:地面
	;
	addxfile m_xmodel,"sb_bg1.x"
	modelshade m_xmodel,0
	regobj b_obj, m_xmodel
	setpos b_obj,0,40,100
	setscale b_obj, 2,2,2

*main
	stick key,$3ff

	hgdraw

	fprt "HGIMG3 Test",8,8

	hgsync 15

	if key&128 : goto *owari

	if key&64 {
		if key&1 : addang HGOBJ_LIGHT, -0.2, 0.0
		if key&4 : addang HGOBJ_LIGHT, 0.2, 0.0
		if key&2 : addang HGOBJ_LIGHT, 0.0, 0.2
		if key&8 : addang HGOBJ_LIGHT, 0.0, -0.2
		getang HGOBJ_LIGHT, x1,y1,z1
		title "("+x1+","+y1+","+z1+")"
	} else {
		if key&2 : addang HGOBJ_CAMERA, -0.01, 0.0
		if key&8 : addang HGOBJ_CAMERA, 0.01, 0.0
		if key&4 : addang HGOBJ_CAMERA, 0.0, 0.01
		if key&1 : addang HGOBJ_CAMERA, 0.0, -0.01
	}

	goto *main

*owari
	hgbye
	end