当たり判定を作っています。詳しくはこちらトピックに返信するユーザー名:メールアドレス:件名:コンソールプログラムが一番最初に実行される関数名を1つ挙げよ:答えを正確にご入力ください。答えられるかどうかでスパムボットか否かを判定します。分かっているなら、どこがどうして問題なのか、説明して見せてください。その問題というのは、CheckMapや、マップチップを確認する部分にあります。(今のコードでは)左へ上へ行ってしまうバグが起きてしまうことです。坂道の当たり判定を作っています。坂道の当たり判定を作っています。ブロックとキャラの当たり判定を書き直す必要がある、ということですよ。keito94さんは、そこで使うべき方法を既に知っています。RECT型の当たり判定についてこんどは返信がもらえるように頑張りましょう。坂道の実装までまだまだ遠いので、新たにトピたてて仕切り直したほうが良いかもしれません。id=3,19205,146128]ブロックとキャラの当たり判定を書き直す必要がある、ということですよ。keito94さんは、そこで使うべき方法を既に知っています。[url=http://dixq.net/forum/viewtopic.php?f=3&t=19012]RECT型の当たり判定について[/url]こんどは返信がもらえるように頑張りましょう。坂道の実装までまだまだ遠いので、新たにトピたてて仕切り直したほうが良いかもしれません。坂道の当たり判定を作っています。2年前ブロックとキャラの当たり判定を書き直す必要がある、ということですよ。keito94さんは、そこで使うべき方法を既に知っています。RECT型の当たり判定についてこんどは返信がもらえるように頑張りましょう。坂道の実装までまだまだ遠いので、新たにトピたてて仕切り直したほうが良いかもしれません。ブロックとキャラの当たり判定を書き直す必要がある、ということですよ。keito94さんは、そこで使うべき方法を既に知っています。[url=http://dixq.net/forum/viewtopic.php?f=3&t=19012]RECT型の当たり判定について[/url]こんどは返信がもらえるように頑張りましょう。坂道の実装までまだまだ遠いので、新たにトピたてて仕切り直したほうが良いかもしれません。坂道の当たり判定を作っています。坂道の当たり判定を作っています。2年前オフトピック今思うと問題点だらけだったんだな...。[offtopic]今思うと問題点だらけだったんだな...。坂道の当たり判定を作っています。場所はCCollision::CheckMapで合ってると書いたのに。前提から外れたことを同じやり方でやろうとしたらどうなりますかね。そりゃ、バグが発生するわけですね...。id=3,19205,146075]場所はCCollision::CheckMapで合ってると書いたのに。id=3,19205,146075]前提から外れたことを同じやり方でやろうとしたらどうなりますかね。[/quote]そりゃ、バグが発生するわけですね...。坂道の当たり判定を作っています。してめり込み防止の部分ですか?「もしかして」?あてずっぽうですか?あてずっぽうであたったとして何の意味があるんでしょう。場所はCCollision::CheckMapで合ってると書いたのに。#そこだけとは言ってないけどひとつは、ブロックとキャラが当たってるかどうか調べるのに、縁を何点かだけ調べているところですよ。これは、ブロックが固定で等間隔に並んでいて、尚且つキャラとブロックが同一サイズというのが前提になる。#keito94さんサイズ変えたらうまくいかないっていう質問を前にしてましたよね。この前提では、ブロックがあるところは、全面ブロックである。ピクセル座標とブロック単位の座標が混在してもテキトーに誤魔化せてしまう。いま実装しようとしてる坂道は、45度傾いていて、当たり判定のあるところとないところが半々に交じってる。前提から外れたことを同じやり方でやろうとしたらどうなりますかね。id=3,19205,146068]もしかしてめり込み防止の部分ですか?[/quote]「もしかして」?あてずっぽうですか?あてずっぽうであたったとして何の意味があるんでしょう。場所はCCollision::CheckMapで合ってると書いたのに。#そこだけとは言ってないけどひとつは、ブロックとキャラが当たってるかどうか調べるのに、縁を何点かだけ調べているところですよ。これは、ブロックが固定で等間隔に並んでいて、尚且つキャラとブロックが同一サイズというのが前提になる。#keito94さんサイズ変えたらうまくいかないっていう質問を前にしてましたよね。この前提では、ブロックがあるところは、全面ブロックである。ピクセル座標とブロック単位の座標が混在してもテキトーに誤魔化せてしまう。いま実装しようとしてる坂道は、45度傾いていて、当たり判定のあるところとないところが半々に交じってる。前提から外れたことを同じやり方でやろうとしたらどうなりますかね。坂道の当たり判定を作っています。“坂道を実装するには邪魔になりそうな前提条件”は、たぶんkeito94さんが完璧だと思っているところ、にありますよ。id=3,19205,146066]“坂道を実装するには邪魔になりそうな前提条件”は、たぶんkeito94さんが完璧だと思っているところ、にありますよ。坂道の当たり判定を作っています。2年前オフトピックそういえば、No.47でリンクしたトピで、ブロックに当たったら当たる前の座標に戻す、という方針を採用する方向だったはずだけど、いまのコードには欠片も見当たらない。当たる前の座標に戻せば、当たっていない状態に戻る、というのが悪魔の証明なので、それ以降スルーしてたのに。前提条件がなければ、当たっていないとすることを保証できないのだから。前提条件を積み重ねたコードはトピが解決してもずっと爆弾抱えたまま。[offtopic]そういえば、No.47でリンクしたトピで、ブロックに当たったら当たる前の座標に戻す、という方針を採用する方向だったはずだけど、いまのコードには欠片も見当たらない。当たる前の座標に戻せば、当たっていない状態に戻る、というのが悪魔の証明なので、それ以降スルーしてたのに。前提条件がなければ、当たって[b]いない[/b]とすることを保証できないのだから。前提条件を積み重ねたコードはトピが解決してもずっと爆弾抱えたまま。坂道の当たり判定を作っています。分かっている、を選択しておいて、分かっていませんね。キャラはピクセル単位で動くのだから、ピクセル単位で座標がずれるのは最初から想定内ですよ。(今のコードでは)左へ上へ行ってしまうバグが起きてしまうことです。なるようにコードを書き換えたのはkeito94さんですよ。その問題というのは、CheckMapや、マップチップを確認する部分にあります。「どこが」はまあ合ってますけど、たまたまですかね。“坂道を実装するには邪魔になりそうな前提条件”は、たぶんkeito94さんが完璧だと思っているところ、にありますよ。分かっている、を選択しておいて、分かっていませんね。キャラはピクセル単位で動くのだから、ピクセル単位で座標がずれるのは最初から想定内ですよ。id=3,19205,146065](今のコードでは)左へ上へ行ってしまうバグが起きてしまうことです。[/quote]そうなるようにコードを書き換えたのはkeito94さんですよ。id=3,19205,146065]その問題というのは、CheckMapや、マップチップを確認する部分にあります。[/quote]「どこが」はまあ合ってますけど、たまたまですかね。“坂道を実装するには邪魔になりそうな前提条件”は、たぶんkeito94さんが完璧だと思っているところ、にありますよ。坂道の当たり判定を作っています。分かっているなら、どこがどうして問題なのか、説明して見せてください。その問題というのは、CheckMapや、マップチップを確認する部分にあります。ブロックを左から何個目にあるかを判定する都合上、動いているブロックやキャラのX座標の位置がずれることが前提の上下の当たり判定で、(今のコードでは)左へ上へ行ってしまうバグが起きてしまうことです。id=3,19205,146064]分かっているなら、どこがどうして問題なのか、説明して見せてください。[/quote]その問題というのは、CheckMapや、マップチップを確認する部分にあります。ブロックを左から何個目にあるかを判定する都合上、動いているブロックやキャラのX座標の位置がずれることが前提の上下の当たり判定で、(今のコードでは)左へ上へ行ってしまうバグが起きてしまうことです。坂道の当たり判定を作っています。2年前keito94さんは、“坂道を実装するには邪魔になりそうな前提条件”が何なのか分かっているのでしょうか。分かっていないなら、差し当たって、目の前のコードを理解するところから始めましょう。分かっているなら、どこがどうして問題なのか、説明して見せてください。やって排除するか、を考えるのはそのあとです。keito94さんは、“坂道を実装するには邪魔になりそうな前提条件”が何なのか分かっているのでしょうか。分かっていないなら、差し当たって、目の前のコードを理解するところから始めましょう。分かっているなら、どこがどうして問題なのか、説明して見せてください。やって排除するか、を考えるのはそのあとです。坂道の当たり判定を作っています。坂道を実装するには邪魔になりそうな前提条件は排除していきたいが。id=3,19205,146045]むしろ、坂道を実装するには邪魔になりそうな前提条件は排除していきたいが。坂道の当たり判定を作っています。地上に着地せずにめり込んで左に移動してしまいます。添付されているソースファイルは、そうならないようにCPlayer::GroundFlag書き換えている箇所を移動してますね。id=3,19205,146035]ですが、地上に着地せずにめり込んで左に移動してしまいます。[/quote]添付されているソースファイルは、そうならないようにCPlayer::GroundFlag書き換えている箇所を移動してますね。坂道の当たり判定を作っています。現在考えているのは、衝突したら一ブロックずらした座標で判定するということです。(キャラの座標が中央基準なので...。)ですが、地上に着地せずにめり込んで左に移動してしまいます。ブロックが等間隔に並んでいることが前提条件になりますよね。ブロックが等間隔に並んでいないといけなくするメリットって何でしょう。オフトピックむしろ、坂道を実装するには邪魔になりそうな前提条件は排除していきたいが。そもそも、衝突したブロックの左にあるブロックがキャラより左にあって、衝突したブロックの右にあるブロックがキャラより右にある、というのは当たり前。こちらも同時に成立する条件。あいだにelseを入れたので、前回は常に右へ下へだったのが、今回は常に左へ上へとなった。本質的に何も変わってない。左右の判定は一応完成しました。