; e3dhsp.dll test script #include "e3dhsp3.as" #module #deffunc waitbyfps int p1, var fps E3DWaitbyFPS@ p1, fps await 0 return #global dim keybuf, 256 ;file のpath 用のバッファーの作成 pathlen = 2048 sdim pathbuf, pathlen, 2 chgdegx = 0 : chkdegy = 0 : chkdegz = 0 screenw = 640 : screenh = 480 screen 0, screenw, screenh, 1 pointmax = 100 title "Easy3D for HSP3 sample" ;開発中は下の行のコメントアウトを外すことを推奨します。 ;E3DEnableDbgFile ;初期化 E3DInit 0, -1, 0, 16, 0, scid1 ;カメラの初期化 camposx = 0.0 : camposy = 1500.0 : camposz = -2000.0 E3DSetCameraPos camposx, camposy, camposz camdegxz = 180.0 : camdegy = 0.0 E3DSetCameraDeg camdegxz, camdegy ;projectionの変更をしたいときは、以下の2行を有効にしてください。 proj_near = 100.0 : proj_far = 30000.0 : proj_fov = 60.0 E3DSetProjection proj_near, proj_far, proj_fov lightdirx1 = 0.0 lightdiry1 = 0.0 lightdirz1 = 1.0 lightr1 = 255 lightg1 = 255 lightb1 = 255 E3DCreateLight lid1 E3DSetDirectionalLight lid1, lightdirx1, lightdiry1, lightdirz1, lightr1, lightg1, lightb1 ; フォントの作成 ; 注意、フォント名を指定する際には、全角、半角に気を付けてください。 ; 例えば、下の例の場合、MSは全角、スペースは半角、ゴシック、明朝は全角文字です。 E3DCreateFont 20, 0, 400, 0, 0, 0, "MS ゴシック", fontid1 E3DCreateFont 20, 0, 400, 1, 0, 0, "MS ゴシック", fontid2 ; イタリック E3DCreateFont 20, 0, 400, 0, 1, 0, "MS ゴシック", fontid3 ; アンダーライン E3DCreateFont 20, 0, 400, 0, 0, 1, "MS ゴシック", fontid4 ; 打ち消し線 E3DCreateFont 20, 0, 400, 0, 0, 0, "MS 明朝", fontid5 E3DCreateFont 10, 0, 400, 0, 0, 0, "MS 明朝", fontid6 ; 小さい文字 E3DCreateFont 20, 0, 1000, 0, 0, 0, "MS 明朝", fontid7 ; 太い文字 E3DCreateFont 40, 0, 400, 0, 0, 0, "MS ゴシック", fontid8 ; 大きい文字 E3DCreateFont 20, 25, 400, 0, 0, 0, "MS ゴシック", fontid9 ; 幅広な文字 alphadir = 1 alpha = 255 chkfps1 = 0 *main ; keybuf変数は、メインループの外で、dim keybuf, 256 として、確保しておいてください。 E3DGetKeyboardState keybuf if keybuf.VK_ESCAPE = 1 : goto *bye ; [ESC]で終了 gosub *MoveCamera E3DBeginScene scid1 gosub *DrawTextByFontID E3DEndScene E3DPresent scid1 waitbyfps 100, chkfps1 goto *main *bye E3DBye end *MoveCamera return *DrawTextByFontID textr = 255 : textg = 255 : textb = 255 textscale = 1 textposx = 10 : textposy = 0 strchk0 = "Arial old DrawText " E3DDrawText textposx, textposy, textscale, textr, textg, textb, strchk0 strchk1 = "MSゴシック 通常文字" E3DDrawTextByFontID scid1, fontid1, 10, 20, strchk1, 255, 255, 255, 255 strchk2 = "MSゴシック イタリック" E3DDrawTextByFontID scid1, fontid2, 10, 40, strchk2, 255, 255, 0, 0 strchk3 = "MSゴシック アンダーライン" E3DDrawTextByFontID scid1, fontid3, 10, 60, strchk3, 255, 0, 255, 0 strchk4 = "MSゴシック 打ち消し線" E3DDrawTextByFontID scid1, fontid4, 10, 80, strchk4, 255, 255, 255, 0 strchk5 = "MS明朝 通常文字" E3DDrawTextByFontID scid1, fontid5, 10, 120, strchk5, 255, 255, 255, 255 strchk6 = "MS明朝 小さい文字" E3DDrawTextByFontID scid1, fontid6, 10, 140, strchk6, 255, 255, 255, 255 strchk7 = "MS明朝 太い文字" E3DDrawTextByFontID scid1, fontid7, 10, 160, strchk7, 255, 255, 255, 255 strchk8 = "MSゴシック 半透明" E3DDrawTextByFontID scid1, fontid8, 10, 200, strchk8, alpha, 255, 255, 255 strchk9 = "MSゴシック 幅広文字" E3DDrawTextByFontID scid1, fontid9, 10, 260, strchk9, 255, 255, 255, 255 if ( alphadir == 1 ) { alpha-- if ( alpha < 0 ) { alphadir = 0 alpha = 0 } } else { alpha++ if ( alpha > 255 ) { alphadir = 1 alpha = 255 } } return