sample\hgimg4\test12.hsp » Plain Format
#include "hgimg4.as"
title "HGIMG4 Test"
randomize
gpreset
setcls CLSMODE_SOLID, $404040
sx=ginfo_sx ; 画面のXサイズ
sy=ginfo_sy ; 画面のYサイズ
celload "res/ball64.png",3
celdiv 3, 64,64, 32,32
max = 100 ; ボールの最大数
gosub *c_init ; ボールを初期化
; 自分のキャラ
myx=sx/2:myy=sy/2
gpspr id_spr, 3,0, 4
setpos id_spr, myx, myy
setscale id_spr, 2,2,2
setcoli id_spr,2,1
setborder 0,0,0, 1
setborder sx,sy,0, 2
*main
stick key,15
; カーソルキーで動かす
if key&1 : addpos id_spr, -1, 0
if key&4 : addpos id_spr, 1, 0
if key&8 : addpos id_spr, 0, 1
if key&2 : addpos id_spr, 0, -1
getcoli i,id_spr,64 ; 接触したオブジェクトを調べる
if i>=0 {
delobj i ; 接触したオブジェクトは消す
}
redraw 0 ; 描画開始
gpdraw ; オブジェクトの描画
; 文字を表示
color 255,255,255
pos 8,8
mes "sprite test"
redraw 1 ; 描画終わり
await 1000/60
goto *main
*c_init
; ボールの初期化サブルーチン
;
speed=2 ; ボールのスピード
repeat max
mf=cnt&63 ; 表示IDを設定
mx=rnd(sx-128)+64 ; 表示X位置を乱数で設定
my=rnd(sy-128)+64 ; 表示Y位置を乱数で設定
if rnd(2)=0 { ; X方向の移動量を乱数で設定
mpx=-speed
} else {
mpx=speed
}
if rnd(2)=0 { ; Y方向の移動量を乱数で設定
mpy=-speed
} else {
mpy=speed
}
gpspr i, 3,mf, 4
setpos i, mx, my
setdir i, mpx, mpy
setangr i, 0,0,rnd(64)
setobjmode i,OBJ_MOVE|OBJ_BORDER|OBJ_FLIP
;gpsetprm i, PRMSET_ALPHA, 128
setcoli i,1
loop
return