sample\obaq\test6.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の初期化
; 自由な形状のモデルを追加
;
model=-1.0,-1.0, -1.0,2.0, 2.0,1.0, 1.0,-1.0
qaddmodel i,model,-1, 30,64,0
qspeed i,0.1*rnd(10)-0.5,0,0.01
qgroup i,2 ; コリジョンのグループ設定
; 操作できるオブジェクトの追加
;
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 ; キーの取得
if key&128 : end ; [ESC]キーで終了
; カーソルキーで操作
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
qcollision my
qgetcol i,colx,coly
if i>=0 {
color 255,255,0
qcnvaxis ix,iy,colx,coly
pos ix,iy:mes "HIT!"
}
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