sample\hgimg3\meshmap3.hsp » Plain Format
#include "hgimg3.as" ; mesh walkサンプル ; (Meshの高さに合わせて移動させる) randomize screen 0,640,480,0 cls 4 hgini ; バッファサイズ sx=32:sy=32 dim vmap,sx+1,sy+1 wave_init sx,sy ; テクスチャフォント表示の準備 ; setfont 16,16,12,1 ; font Tex select(cx,cy,px,mode) texload "fontchr.bmp" ; フォントテクスチャの登録 ; モデル登録(目玉) ; addxfile m_xmodel,"eye.x" regobj mychr, m_xmodel,OBJ_STAND|OBJ_WALKCLIP ; モデル登録(地面) ; setuv 0,0,128,128 addmesh m_mesh,sx,sy,0,160,160 texload "mapbg4.bmp" regobj obj, m_mesh,OBJ_GROUND ; 地面として登録 setborder 150,150,150 ; 移動範囲の設定 ; 高さ、UVマップの設定 ; gsel 3 picload "g_road.bmp" getvarmap vmap,sx,sy,1 picload "g_river.bmp" getvarmap vmap,sx,sy,2 meshmap vmap,m_mesh,$100 picload "g_height1.bmp" getvarmap vmap,sx,sy meshmap vmap,m_mesh,0,0.1 ; 表示の準備 ; gsel 0 clscolor $60e0 ; 背景色の設定 setpos HGOBJ_CAMERA, 0,-60,150 ; カメラ位置の設定 setangr HGOBJ_CAMERA, -15,0,0 ; カメラ角度の設定 frame=0 scfade=0 scfadev=256 gosub *fadein *main gosub *alldraw stick key,$3ff if key&128 : goto *main2 ; カーソルキーで動かす ; if key&2 : objwalk vres,mychr,0,1,-1 if key&8 : objwalk vres,mychr,0,1,1 if key&1 : objwalk vres,mychr,-1,1,0 if key&4 : objwalk vres,mychr,1,1,0 goto *main *main2 gosub *fadeout repeat gosub *alldraw if scfadev=256 : break loop *owari end *alldraw ; フレーム描画のサブルーチン ; hgdraw ; 描画 fprt "Frame:"+frame,8,8 if scfade { ; フェード処理 scfadev += scfade if scfadev>255 : scfadev=256 if scfadev<1 : scfadev=0 : scfade=0 color 0,0,0:gmode 3,640,480,scfadev hgrect 320,240,0 } hgsync 15 ; 時間待ち frame++ return *fadein scfade=-4 return *fadeout scfade=4 return