test10.hsp

sample\obaq\test10.hsp » Plain Format

#include "obaq.as"

	;
	;	重力のない平面でのビリヤード風動作サンプル
	;	カーソルキー左右で角度を決定してスペースキーで発射します
	;	[ESC]で終了します
	;
	randomize		; 乱数の初期化
	screen 0,640,480	; ウィンドウ初期化
	celload "obaqlogo.bmp"	; OBAQロゴ読み込み
	logoid=stat		; ロゴのID

	qreset			; OBAQの初期化
	qgravity 0,0		; 重力なし

	qborder -40,-50,40,50
	cenx=320/4:ceny=240/4

	hako=10
	repeat 100
		if hako=0 : break
		qaddpoly my, 16, cenx+rnd(60)-30,ceny+rnd(100)-50,0,5,5		; 多角形を追加
		if my>=0 {
			hako--
		}

	loop

*main
	;	メインループ
	;
	redraw 0		; 画面の更新を開始
	gradf ,,,,1,0,128	; 画面クリア
	qexec			; OBAQによるオブジェクトの更新

	stick key,15		; キーの取得
	if key&128 : end	; [ESC]キーで終了

	qgetpos my, xx,yy,mr
	if key&1 : mr-=0.05
	if key&4 : mr+=0.05
	qpos my, xx,yy,mr

	if key&16 {
		qspeed my, cos(mr), sin(mr)
	}

	qdraw			; オブジェクトの描画

	color 255,255,255
	qcnvaxis x,y,xx,yy
	pos x,y:line x+cos(mr)*32,y+sin(mr)*32

	gmode 2:pos 500,404	; ロゴ表示
	celput logoid

	redraw 1		; 画面の更新を終了
	await 12		; 一定時間待つ
	goto *main