この前ジャンプと走りのアニメーションについて質問した者です。
今回は当たり判定についての二つ質問したいと思います。
まず一つ、当たり判定には矩形や円、三角関数などいろいろな判定方法がありますが、
アクションゲームで使われる当たり判定は矩形でいいのでしょうか?
そして二つ目は、私はブロック崩しを作る際に矩形の当たり判定を用いたのですが、
その時、バーやボールの幅と高さをGetGraphSize関数で取得しました。
ちゃんと跳ね返ったのですが、これでは当たり判定を自在に大きくしたりできないなと思い、
ほかに方法はないかと考えました。
皆さんはどのようにして幅や高さを取得しているのでしょうか?
アクションゲームの作り方がのっている本達で、
それらはDXライブラリではなくDirectXでの開発ですが、RECT構造体というもので測っているのをよく見かけます。
それと同じような感じなのでしょうか?
教えてください。
矩形の当たり判定
Re: 矩形の当たり判定
ゲームによります。イマダニ さんが書きました:この前ジャンプと走りのアニメーションについて質問した者です。
今回は当たり判定についての二つ質問したいと思います。
まず一つ、当たり判定には矩形や円、三角関数などいろいろな判定方法がありますが、
アクションゲームで使われる当たり判定は矩形でいいのでしょうか?
キャラクターの形が丸いなら円の方が良い場合もありますし、
形が複雑なら複数の当たり判定の組み合わせも考えられます。
当たり判定を大きくしたいだけなら、イマダニ さんが書きました: そして二つ目は、私はブロック崩しを作る際に矩形の当たり判定を用いたのですが、
その時、バーやボールの幅と高さをGetGraphSize関数で取得しました。
ちゃんと跳ね返ったのですが、これでは当たり判定を自在に大きくしたりできないなと思い、
ほかに方法はないかと考えました。
皆さんはどのようにして幅や高さを取得しているのでしょうか?
GetGraphSize関数で取得した幅と高さを適当に大きくするだけで可能です。
-
イマダニ
Re: 矩形の当たり判定
すいません質問の仕方が悪かったです。
大きくするだけならそれでいいんですが、たとえばボールが左端に当たった時とか、右端に当たった時とか
当たり判定を分けるときに”バーのX座標から20のところ”が”左端”って判定している人がいるじゃないですか。
あれってよくわかるなって思うんですよ。どうやって測ってるんですか?
大きくするだけならそれでいいんですが、たとえばボールが左端に当たった時とか、右端に当たった時とか
当たり判定を分けるときに”バーのX座標から20のところ”が”左端”って判定している人がいるじゃないですか。
あれってよくわかるなって思うんですよ。どうやって測ってるんですか?
Re: 矩形の当たり判定
すみません、よけいに意味が分かりません。
ブロック崩しのバーの左端と右端で当たり判定を分けることがあるのでしょうか?
ブロック崩しのバーの左端と右端で当たり判定を分けることがあるのでしょうか?
-
イマダニ