SPHITRC
スプライトと指定領域との衝突判定
指定領域と衝突しているキャラを探す
hitSpNo=SPHITRC([spNoFr,spNoTo,]u,v,w,h[,[mask],mx,my])
指定キャラと領域が衝突しているか調べる
flg=SPHITRC(spNo,u,v,w,h[,[mask],mx,my])
パラメーター
spNo:スプライト番号
spNoFr,spNoTo:検索するspNoの範囲
u,v,w,h:衝突判定領域の始点x,y,幅w,高さh
mx,my:衝突判定領域の移動量
戻り値
hitSpNo:衝突しているスプライト番号
flg:衝突フラグ(1(TRUE):衝突, 0(FALSE):非衝突)
解説
スプライトと、指定した領域との衝突判定を行います。
また、スプライトはSPCOLで衝突の設定をしていないと衝突とみなされません。
SPHITRCには2つの使用方法があります。
衝突領域は始点x,yと、幅w、高さhで四角形を指定します。
必要であれば、その四角形が始点u,vからmx,myの距離を移動したとして、その移動空間も全て衝突範囲にする事もできます。
maskは、衝突判定用のマスクです。詳しくはSPCOLを参照
省略時は-1(&HFFFFFFFF(全てと衝突判定する))
スプライト番号はSPSETで設定済みである必要があります。
スプライト同士の衝突はSPHITSPを使用してください。
また、スプライトはSPCOLで衝突の設定をしていないと衝突とみなされません。
SPHITRCには2つの使用方法があります。
衝突判定領域を指定し、それと衝突しているスプライトを探す
戻り値・・・スプライト番号、または-1:非衝突衝突判定領域とスプライトを指定し、これらが衝突しているか調べる
戻り値・・・1(TRUE):衝突, 0(FALSE):非衝突衝突領域は始点x,yと、幅w、高さhで四角形を指定します。
必要であれば、その四角形が始点u,vからmx,myの距離を移動したとして、その移動空間も全て衝突範囲にする事もできます。
maskは、衝突判定用のマスクです。詳しくはSPCOLを参照
省略時は-1(&HFFFFFFFF(全てと衝突判定する))
スプライト番号はSPSETで設定済みである必要があります。
スプライト同士の衝突はSPHITSPを使用してください。
サンプルコード
(50,50)を左上座標とする16x16の四角形と衝突しているスプライトを探す
四角形とスプライト0が衝突しているかを調べるSP=SPHITRC(50,50,16,16) '全スプライトを検索SP=SPHITRC(1,10,50,50,16,16) '1~10のスプライトを検索
基本サンプル。四角形の上を通ると「衝突」と判定され音が鳴る。
移動量による衝突判定のサンプル。小さい2つの四角形の間を通ろうとすると「衝突」と判定され音が鳴るACLS:X=30,Y=30GFILL 100,100,120,120 '四角形を描く。WHILE 1 '永久ループSPOFS 0,X,Y 'いちご移動'四角形が描かれている場所に衝突したら音を鳴らす
ACLS:X=100:Y=100GFILL 100,100,120,120GFILL 180,180,200,200WHILE 1 '永久ループSPOFS 0,X,Y 'いちご移動
参照
SPPAGE
スプライトキャラの定義に使用するグラフィックページを指定・取得
SPCLIP
スプライトキャラを表示する範囲を指定
SPDEF
スプライトキャラの定義データを変更・取得
SPSET
スプライト番号にキャラクターをセット
SPCLR
スプライト番号のキャラ設定をクリア
SPSHOW
スプライトを表示状態にする
SPHIDE
スプライトを非表示状態にする
SPHOME
スプライトキャラの原点座標を変更・取得
SPOFS
スプライトキャラの表示座標を変更・取得
SPROT
スプライトキャラの回転角度を変更・取得
SPSCALE
スプライトキャラの表示倍率を変更・取得
SPCOLOR
スプライトキャラの色合いを変更・取得
SPCHR
スプライトキャラのキャラ種類を変更・取得
SPLINK
スプライトの同士をリンク・取得
SPUNLINK
スプライトの同士のリンクを解除
SPANIM
スプライトにアニメーションを設定
SPSTOP
スプライトのアニメーションを一時停止
SPSTART
スプライトのアニメーションを再開
SPCHK
スプライトのアニメーション状況を取得
SPVAR
スプライト用内部変数の値を設定・取得
SPCOL
スプライトの衝突判定のルールを設定・取得
SPCOLVEC
スプライトの衝突判定用に移動量を設定
SPHITSP
スプライト同士の衝突判定
SPHITRC
スプライトと指定領域との衝突判定
SPHITINFO
スプライトの最後の衝突結果を取得
SPUSED
スプライト番号が使用されているかチェック
SPFUNC
スプライト番号にコールバック処理を割り当て