がっ・・・駄目っ・・・!テストがあるからプログラミングできないっ・・・!
っとまぁ茶番はおいといてw
今作ってるゲームで「敵に当たったらのけぞる」という処理を作りました
が
そのままだと「敵や壁にめり込む」ので、どうやったらそれを解消できるかなと思ってたんです
でそれの構想が大体まとまりました。
以前オレの動画のpart5ぐらいかな?でのけぞり処理を書きましたが
たしか「自キャラと敵キャラの当たり判定の座標の差をプレイヤーの座標に足す」
という処理がゲーム全体の3ループにわたって3回行われるように作ったと思うんですが
あの状態で敵キャラに当たると
「無敵状態で敵キャラに当たると移動しない」
という処理のあと
2回目の「自キャラと敵キャラの当たり判定の座標の差を自キャラの座標に足す」
が行われるので実質「通り抜ける」形になってしまっています。
ので「のけぞっている状態」をつくりそのとき専用の当たり判定処理をつくり。
「「のけぞっている状態」で敵に当たる」
↓
「敵キャラの座標と自キャラの座標の差からのけぞるときに使われたキャラ同士の当たり判定の差分を引く」
そしてその値を自キャラの座標に足す
例:Player_x+=Enemy_x-Player_x-のけぞるときに使った値
こうすると例えば右から左へ32ずつのけぞっている(イメージ的には移動)として
1回目ののけぞりでは何にも当たらなかった。
2回目ののけぞりで敵キャラに当たった。
敵キャラの座標が(20,0)自キャラの座標が(30,0)サイズは共に(32×32)とすると先ほどの式を使うと
20-30-(-32)=22となって
↑左に32ってことは自キャラのx座標を32引くため
敵キャラにめり込んでしまった分だけx座標に足すことができる・・・はずです
とはいっても多分誰もわからないんではないだろうかww
自分説明へたくそでスイマセン(´・ω・`)
これは自分へのメモみたいなものですから「一応なんかやってるんだなバカなりに」って思ってあげてくださいw
そんな感じで明後日からテストですんで勉強に戻りたいと思いますww
のけぞり後処理思いついた~
Re: のけぞり後処理思いついた~
実装出来ると良いですね!
自分の場合はのけぞりの事をノックバックと呼んでますが、そういうのも含めて移動など全ての処理したあとに、壁との当たり判定を行い、めり込んでいる場合その差を引いてから描画を行っています。
テストも頑張ってください!!
自分の場合はのけぞりの事をノックバックと呼んでますが、そういうのも含めて移動など全ての処理したあとに、壁との当たり判定を行い、めり込んでいる場合その差を引いてから描画を行っています。
テストも頑張ってください!!
Re: のけぞり後処理思いついた~
コメントありがとうございます!
そうなんですよね~
仮移動→判定→本移動
となるようにこの子を配置してあげないといけませんね。
ノックバックっていいかたかっこいいな・・・(・ω・)
そうなんですよね~
仮移動→判定→本移動
となるようにこの子を配置してあげないといけませんね。
ノックバックっていいかたかっこいいな・・・(・ω・)