プレイ日記
キルル2 kiruru2
SPHITSP2 【Z3R3NKHV】 SPHITSPよりも細かく衝突情報を得る命令です 衝突相手の管理番号、自分が上下左右どこから衝突したのか、補正後の座標はどうなるのか この3つが得られます 過去にも同じものを投稿しましたが、今回は計算量が大幅に減り、戻り値を6つから3つに減らすことに成功しています 使い方の例も示してあります より使いやすくなっていることかと思いますので是非お試しください
17そうだね
プレイ済み
返信[1]
親投稿
SEKI22 rcftgrsfrr578
上下左右何処から衝突したのかっていうのは便利 これでアクションゲーム制作が簡単になる
1そうだね
プレイ済み
返信[2]
親投稿
ほんたくっ ruuzibatakuma
すいません!命令の使い方がよく分からなかったので解説してもらってもいいですか?
1そうだね
プレイ済み
返信[3]
親投稿
キルル2 kiruru2
はい、お試しいただきありがとうございます この命令ではSPの位置情報により上下左右の判定をしています ~引数~ SPHITSPではスプライト管理番号、先頭ID、末尾IDの3つの数を渡せますね この命令では、それに加えてXY座標を渡す必要があります 基本の形↓ SPHITSP2 管理番号、X座標、Y座標先頭ID、末尾ID OUT HIT、F、XY かなり長いので、先頭IDと末尾IDは、改造して削ってしまっても良いです 2つ目、3つ目の引数をもとに判定を行っているので、これは削れません ~戻り~ 最初の戻りは衝突相手の管理番号です (仕様はSPHITSPと同じ) 2つ目の戻りがフラグです。上から当たっていれば1、下なら2、左なら4、右なら8ですが、ここで自分が相手にめり込んでいると16が加算されます 16以上のとき16を引くか、(F AND 15)で1、2、4、8のみにするかしてください
1そうだね
プレイ済み
返信[4]
親投稿
キルル2 kiruru2
2つ目の戻りは斜めから当たっていた場合、右上なら1+8(9)、左上なら1+4(5)、右下なら2+8(10)、左下なら2+4(6)になります 3つ目の戻りは補正後の座標です 2つ目の戻りをF、3つ目をXYとして F AND 3が真のとき Y座標=XY F AND 12が真のとき X座標=XY こうすれば、座標の補正ができます この命令をプログラムの流れの中に組みこむときは SPOFS SPHITSP2 IF~ この流れになります まだわからない部分があれば、ご遠慮なくどうぞ
1そうだね
プレイ済み
返信[5]
親投稿
ほんたくっ ruuzibatakuma
ありがとうございます! 試してみます。
0そうだね
プレイ済み