; hsp3dish でスプライトを表示してみるテスト #include "hsp3dish.as" #packopt name "hsp3dish_sprite" #packopt type 0 #packopt xsize 640 #packopt ysize 480 ; ウインドウID=0を初期化 screen 0, 640, 480, screen_normal title "hsp3dish sprite test" sw = ginfo_sx sh = ginfo_sy ; スプライト初期化 es_ini ; 画像読み込み。バッファID=3 に読み込んでる imgid = 3 buffer imgid picload "player_64x64_512x256.png" ; スプライトサイズを指定 ; w, h, 当たりサイズの割合(%) es_size 64, 64, 100 n = 8 repeat n ; キャラ画像定義 ; キャラNo, x, y, (フレーム数), (バッファID) es_pat cnt, 64 * cnt, 0 ; スプライトを登録 ; スプライトNo, x, y, キャラNo es_set cnt, 0, 0, cnt loop ; 描画先を指定。ウインドウID=0 を指定してる。 gsel 0 ; redraw 0 を呼んだ時の画面クリア設定 ; 0 or 1, 色指定($000000 - $ffffff) setcls CLSMODE_SOLID, $3070a0 ang = 0.0 *mainloop ; ESCキーで終了 stick key, $ff if key & $80 : goto *jobend redraw 0 ; 描画開始 ; スプライトの表示位置を変更 a = 20 repeat n ra = double(ang + (a * cnt)) * M_PI / 180 w = sw / 2 h = sh / 2 x = 0.8 * w * cos(ra) + w y = 0.8 * h * sin(ra) + h ; スプライトの座標を設定 ; スプライトNo, x, y, (オプション) es_pos cnt, x - 32, y - 32 loop es_draw ; スプライトを描画 redraw 1 ; 描画終了 ang = ang + 0.5 await (1000 / 60) ; 処理待ち goto *mainloop *jobend es_bye ; スプライトシステム開放 end