pronama5.hsp

sample\pronama3d\pronama5.hsp » Plain Format

#include "hgimg4.as"
#include "gpposteffect.as"
#packopt name pronama5
#packopt xsize 960
#packopt ysize 640

	;	暮井 慧(プロ生ちゃん) 3D model (C) Pronama LLC
	;
	;	HGIMG4対応 HSP3用スクリプトサンプル
	;	※このスクリプト及びサンプルデータは、ライセンス規約のもと
	;	 自作ソフトで自由にお使い頂けます
	;	※詳しくは、 https://kei.pronama.jp/
	;

	title "HGIMG4 Test"

#define GRP_SKY $8000

	gpreset
	setreq SYSREQ_LOGWRITE,1		; 終了時にログを出力
	setcls CLSMODE_SOLID, $404040

	gpload id_model,"res/pronamachan"		; モデル読み込み
	setscale id_model, 0.025,0.025,0.025
	gpaddanim id_model,"WALK00_F"			; アニメーションクリップを設定
	gpact id_model,"WALK00_F"			; アニメーションクリップを再生

	gpfloor id_floor, 10,10, $004000		; 床ノードを追加

	camx=0.0:camy=3.0:camz=3.0

	gsel 0
	key=0
	postid = 1

*start
	gppost_setup postid

*main
	gosub *render

	if key&$110 {
		postid++
		if postid>=postid_max : postid=0
		goto *start
	}

	;	タッチでカメラ位置を動かす
	if dragmd {	; ドラッグ中
		getkey a,1
		if a=1 {
			camx=0.05*(mousex-dragx)+cx
			camy=0.05*(mousey-dragy)+cz
		} else {
			dragmd=0
		}
	} else {	; ドラッグなし
		getkey a,1
		if a {
			cx=camx:cz=camz
			dragx=mousex:dragy=mousey
			dragmd=1
		}
	}

	;	カーソルキーでカメラ位置を動かす
	if key&1 : camx -=0.2
	if key&4 : camx +=0.2
	if key&8 : camz +=0.2
	if key&2 : camz -=0.2

	await 1000/60			; 待ち時間

	goto *main

*render
	stick key,15+64
	if key&128 : end

	setpos GPOBJ_CAMERA, camx,camy,camz		; カメラ位置を設定
	gplookat GPOBJ_CAMERA, 0,1.8,0		; カメラから指定した座標を見る

	gsel 1

	redraw 0			; 描画開始
	gpdraw				; シーンの描画
	redraw 1			; 描画終了

	gppost_exec

	color 255,255,255
	pos 8,8:mes "HGIMG4 sample"
	mes "Effect : "+postname
	redraw 1			; 描画終了

	return