第二章 ・・・ E3Dでモデルの表示
第一章で作ったSIGを
HSP+E3D上で表示してみましょう
すべての第一歩です
まだ、僕自身わからないことが多いです
後々見直しが利くように綺麗なソースを
心がけましょう
□ プログラミング
今回の実行画面です
ソースはこちらです
□ ソース解説(最初なので長いです)
このままコピペをして実行すれば実行画面が出ます
各所の解説をしていきましょう
#include "e3dhsp3.as"
・HSPでE3Dを使用するためにE3Dを読み込みます
MODFOLDER = dir_cur + "datamodel"
・Sigファイルが入ってるフォルダを指定します
この場合"datamodel"に入ってる事になります
dim keybuf, 256
・よく僕も理解してませんが
後々キーボードを使うために
keybufという箱を256個作成します
screen 0, 640, 480, 1
・画面サイズを指定します
title "誠意って何かね?"
・バーに表示される名前を指定します
E3DInit 0, -1, 0, 16, 0, scid1
・画面を初期化します
最初の0はscreen時に指定した番号を使用してください
三番目はウィンドウ表示か、フルスクリーンか
四番目はbit数です
最後の"scid1"は初期化した情報が一つの箱に入り
その名前だと思ってください(名前は何でもいいです)
pathbuf.0 = MODFOLDER + "hero.sig"
E3DSigLoad pathbuf.0,hsid1
・MODFOLDER(この場合"datamodel")にある
"heroin.sig"を読み込んで
画面と同じように"hsid1"という名前を持たせます
E3DCreateLight lid1
E3DSetDirectionalLight lid1, 0, -1, 1, 255, 255, 255
E3DSetLightAmbient lid1,100,100,100
E3DSetLightSpecular lid1,100,100,100
・"lid1"というライトを作成し
二番目の関数で向きや色の設定
三番目でモデルに出る影の色の設定
四番目で反射の色を設定します
E3DSetProjection 100, 40000, 30
・カメラを設定します
一番目でどのくらい近くまで表示するか
二番目でどれくらい遠くまで表示するか
三番目で視野角を設定します
*main~goto *main
・メインの処理をここに書きます
終了処理などが行われるまで
永遠にこの間の処理が繰り返されます
E3DGetKeyboardState keybuf
・キーボードの状態をチェックします
if keybuf.VK_ESCAPE = 1 : goto *bye
・もしESCキーが押された場合は
終了処理の"*bye"へ処理を移行します
E3DBeginScene scid1
・画面"scid1"のシーンを開始します
E3DChkInView scid1, hsid1
E3DRender scid1, hsid1
・画面"scid1"にオブジェクト"hsid1"が
見えてる場合、画面"scid1"上でレンダリングします
*bye
・プログラムの終了処理を書きます
"*main"にも言える事なんですが
*の後はどんな名前でもOKです
E3DBye
end
・E3Dを先に終了させてから
endでHSPプログラムを閉じます
以上の事で、SIGファイルの表示と
ESCキーでの終了処理が完成です
コメント