sample\obaq\test9.hsp » Plain Format
#include "obaq.as" ; ; カーソルキーで操作するオブジェクトが力を放射 ; スペースキーを押すと力を放射します ; [ESC]で終了します ; randomize ; 乱数の初期化 screen 0,640,480 ; ウィンドウ初期化 celload "obaqlogo.bmp" ; OBAQロゴ読み込み logoid=stat ; ロゴのID celload "btex.bmp" ; 素材画像を読み込む tex=stat celdiv tex,64,64,32,32 ; パーツのサイズと中心位置の設定 qreset ; OBAQの初期化 kazu=25 ; 出現数 ; 操作できるオブジェクトの追加 ; qaddpoly my, 4, 96,24,0;, 6,12 qgroup my,1,0,2 ; コリジョンのグループ設定 qmat my,mat_spr,tex frame=0 *main ; メインループ ; redraw 0 ; 画面の更新を開始 gradf ,,,,1,0,128 ; 画面クリア qexec ; OBAQによるオブジェクトの更新 stick key,15+16 ; キーの取得 if key&128 : end ; [ESC]キーで終了 if key&16 { qgetpos my,x,y,ang qblast x,y,1 } ; カーソルキーで操作 px=0.0:py=0.0:pr=0.0 if key&1 : px-=0.04 if key&4 : px+=0.04 if key&2 : py-=0.05 qspeed my, px,py,pr ; 一定時間ごとに出現 ; if kazu>0 { qaddpoly i, rnd(3)+3, 96,24,0.01*rnd(628); 多角形を追加 if i>=0 { qspeed i,0.1*rnd(10)-0.5,0,0.01 ; ランダムな方向に飛ばす kazu-- } } qdraw ; オブジェクトの描画 color 255,255,255 pos 0,0:mes "Frame:"+frame ; フレーム数を表示 gmode 2:pos 470,40 ; ロゴ表示 celput logoid redraw 1 ; 画面の更新を終了 await 12 ; 一定時間待つ frame++ goto *main