; hsp3dish hello world. display image. #include "hsp3dish.as" ; use hsp3dish #packopt name "02_hello_hsp3dish_with_image" #packopt type 0 ; generate ".exe" #pack "chara.png" #define KB_ESC $00080 #define KB_LEFT $00001 #define KB_UP $00002 #define KB_RIGHT $00004 #define KB_DOWN $00008 #define KB_CURSOR (KB_LEFT | KB_UP | KB_RIGHT | KB_DOWN) title "Hello world - hsp3dish" ; set window title ; set window size ; hsp3dish は表示ウインドウとしてウインドウID 0しか使えない点に注意 screen 0, 800, 600, 0 ; load image #define IMGID 3 celload "chara.png", IMGID celdiv IMGID, 16, 16, 8, 8 ; 16x16ドットで分割して管理。基準点は(8,8)に ; set font kind font "Tahoma", 24, 1 ; get window size wdwx = ginfo_winx wdwy = ginfo_winy x = wdwx / 2 y = wdwy / 2 i = 0 count = 0 ; ---------------------------------------- *mainloop stick k, KB_CURSOR ; check keyboard if k & KB_ESC : goto *job_end ; ESC key to exit ; cursor key to move spd = 4 if k & KB_LEFT : x -= spd if k & KB_RIGHT : x += spd if k & KB_UP : y -= spd if k & KB_DOWN : y += spd redraw 0 ; draw start ; clear screen color 0, 100, 200 boxf gfilter FILTER_NONE ; gfilter FILTER_LINEAR ; gfilter FILTER_LINEAR2 ; draw image gmode gmode_rgb0, IMGW, IMGH pos x, y idx = (count / 15) & 1 scale = 6.0 angle = 0.0 celput IMGID, idx, scale, scale, angle ; draw text color 255, 255, 255 pos 10, 10 mes "Hello World - hsp3dish, Push cursor key" redraw 1 ; draw end. screen refresh. await (1000 / 60) ; wait 1/60 sec ;await 12 count++ goto *mainloop *job_end end