sample\pronama3d\pronama4.hsp » Plain Format
#include "hgimg4.as"
#packopt name pronama4
#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, 16,16, $004000 ; 床ノードを追加
camx=0.0:camy=3.0:camz=8.0
gsel 0
*main
gosub *render
; スペースキーまたはクリックでキャラクターを追加
if key&$110 {
gpclone i, id_model ; オブジェクトをクローン
x=rnd(16)-8:z=rnd(16)-8
setpos i, x, 0, z
gpact i,"WALK00_F" ; アニメーションクリップを再生
}
; タッチでカメラ位置を動かす
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
;addang id_model,0,0.02 ; ノード回転
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 ; カメラから指定した座標を見る
redraw 0 ; 描画開始
gpdraw ; シーンの描画
color 255,255,255
pos 8,8:mes "HGIMG4 sample"
redraw 1 ; 描画終了
return