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