sample\hgimg4\light_test4.hsp » Plain Format
#include "hgimg4.as" title "HGIMG4 Test" ; スポットライトテスト ; マウス/タッチドラッグでライトの方向を動かすことができます ; randomize gpreset gpresetlight 1,0,1 ; スポットライトを1個追加する setcls CLSMODE_SOLID, $404040 ; 背景色 setcolor GPOBJ_LIGHT, 0.1,0.1,0.5 ; 標準ライトカラーを設定 setdir GPOBJ_LIGHT, 0.2,0.2,0.2 ; 標準アンビエントカラーを設定 gpnull id_light ; ノードを生成する gplight id_light, GPOBJ_LGTOPT_SPOT,10 ; スポットライトとして設定する setcolor id_light, 1,1,1 ; ライトカラーを設定 setpos id_light,0,3,0 gpuselight id_light ; スポットライトを使用する ; モデルをたくさん配置する i=-1 mdx=10:mdz=10 ; X,Z方向の個数 px=20.0/mdx:pz=20.0/mdz ; 間隔を計算する z=-10.0 ; 配置開始Z座標 repeat mdz x=-10.0 ; 配置開始X座標 repeat mdx if i<0 { gpbox id_base, 1 ; 箱ノードを生成する i=id_base } else { gpclone i, id_base ; クローンでモデルを作成する } setpos i, x,1,z x+=px loop z+=pz loop gpfloor id_floor, 40,40, $8080ff ; 床ノードを追加 setpos GPOBJ_CAMERA, -6.75,13.5,3.0 ; カメラ位置を設定 gplookat GPOBJ_CAMERA, 0,1.8,0 ; カメラから指定した座標を見る px=0.0:pz=0.0 *main stick key,15+256 if key&128 : end if key&256 { px=double(mousex)/ginfo_sx*20-10 pz=double(mousey)/ginfo_sy*20-10 } gplookat id_light,px,0,pz ; ライトの方向を設定する redraw 0 ; 描画開始 gpdraw ; シーンの描画 color 255,255,255 pos 8,8:mes "HGIMG4 sample" redraw 1 ; 描画終了 await 1000/60 ; 待ち時間 goto *main