SPHITINFO
スプライトの最後の衝突結果を取得
SPHITINFO OUT time[,x1,y1,x2,y2]
SPHITINFO OUT time,x1,y1,mx1,my1,x2,y2,mx2,my2
戻り値
time:衝突場所(0~1の間の数値)
x1,y1:衝突物1の衝突時のX,Y座標
mx1,my1:衝突物1に設定されていた移動量
x2,y2:衝突物2の衝突時のX,Y座標
mx2,my2:衝突物2に設定されていた移動量
解説
最後に「衝突」と判断された衝突判定(SPHITSP、SPHITRC)の詳細を取得します。
timeは、元の場所を0、移動先を1とした、0~1のどこで衝突したかを返します。
移動量はSPCOLVECで設定するか、SPANIMの"XY"でも自動設定されます。
移動量が設定されていなければ0を返します。
timeは、元の場所を0、移動先を1とした、0~1のどこで衝突したかを返します。
移動量はSPCOLVECで設定するか、SPANIMの"XY"でも自動設定されます。
移動量が設定されていなければ0を返します。
サンプルコード
左のりんごと右のみかんが一瞬ですれ違うので本来なら衝突と判断されないが、内部的に移動の軌跡をたどる事で「衝突」と判定している。
この例では、衝突と判定されたらそれをプレイヤーに見せる為に、現在の座標を衝突時の座標に書き換えている。
この例では、衝突と判定されたらそれをプレイヤーに見せる為に、現在の座標を衝突時の座標に書き換えている。
※スプライト全体が衝突判定範囲になっているので実際には2~3ドットほどすき間が空いています。こうならない為にはSPCOLで衝突範囲を小さくすると良い。X1=0:Y1=0:X2=100:Y2=0X1=X1+100:SPCOLVEC 0,100,0 'りんごが右に100動くX2=X2-100:SPCOLVEC 1,-100,0 'みかんが左に100動く'衝突した場所に座標を移動SPOFS 0,X1,Y1 'りんごSPOFS 1,X2,Y2 'みかん
参照
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
スプライト番号にコールバック処理を割り当て