メイン 迷える子羊の部屋【初心者専用】 hitTestの効果がおかしい | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
sarasou | Åê¹ÆNo.28928 投稿日時: 2006-9-26 12:26 |
新米 居住地: 投稿: 24
使用環境:
WinXP Home SP2 Flash8 |
hitTestの効果がおかしい 質問させて頂きます。
現在シューティングゲームを習作として製作しているのですが、 どうもhitTestで得られる当たり判定が正常ではないのです。 小さい弾状のものは大丈夫なのですが、 帯状のもの、棒状のものを敵の攻撃として使用すると、 何も触れてない位置にも関わらず自機が被弾してしまいます。 http://okumasama.run.buttobi.net/hittest.fla http://okumasama.run.buttobi.net/test.swf 上にサンプルをアップしてあります。 右上の黒い四角をクリックすると棒が数本表示され、 正常なら棒に●が触れた瞬間trueになるはずですが、 二本しか反応しない上、妙な位置で反応します(中心近く) これはプログラムの書き方がいけないのでしょうか。 それとも仕様なのでしょうか。 もし仕様の場合、棒状の攻撃を行った際どのような処理を施せば良いのでしょうか。 よろしくお願い致します。 |
ebi | Åê¹ÆNo.28934 投稿日時: 2006-9-26 19:23 |
フォーラム芸人 居住地: nagoya 投稿: 926
使用環境:
.6.8 CS6 <参考書> ・基本からしっかりわかるActionScript 3.0(既読) ・ActionScript3.0プロフェッショナルガイド(進行中) ・ActionScript3.0パフォーマンスチューニング(未読) ・ActionScript 3.0 逆引きクイックリファレンス(購入予定... |
Re: hitTestの効果がおかしい ebiです。
サンプル、アクセスできません。 |
sarasou | Åê¹ÆNo.28940 投稿日時: 2006-9-27 5:00 |
新米 居住地: 投稿: 24
使用環境:
WinXP Home SP2 Flash8 |
Re: hitTestの効果がおかしい お手数ですが、外部呼び出した禁じられているようなので、
アドレスバーに直接アドレスをペーストして頂ければ幸いです。 |
KURAGE | Åê¹ÆNo.28941 投稿日時: 2006-9-27 8:25 |
常連 居住地: 東京都 投稿: 199
|
Re: hitTestの効果がおかしい こんにちは
>>2本しか反応しない 全ての棒がキチンと反応しています。 処理の流れ上hitしていない棒が _root.hitornot を false に書き換えてしまっている為、 反応していないように見えてしまっているようです。 >>hitTestで得られる判定がおかしい こちらも正常に動作しています。 MovieClip.hitTest(MovieClip) はシェイプではなく、境界ボックスが重なっているかどうかを判定しますので、 見た目上何も無いエリアでも、境界ボックスが重なっていればtrueを返します。 |
sarasou | Åê¹ÆNo.28943 投稿日時: 2006-9-27 10:10 |
新米 居住地: 投稿: 24
使用環境:
WinXP Home SP2 Flash8 |
Re: hitTestの判定を細かく設定したい レスありがとうございます。
仰るとおり、プログラムのミスであり、 判定が境界ボックスを使用していたため不具合が生じてしまったようです。 それを踏まえた上で再度主旨を変えて質問させていただきます。 http://okumasama.run.buttobi.net/shootinghit.fla http://okumasama.run.buttobi.net/shootinghit.swf (アドレス直ペーストでお願いします) 上のFlashは少し待つと、上に存在する敵インスタンスからビームが自機狙いに発射され、その範囲全体が当たり判定となっています。 当たっているかどうかが右上に表示され、マウスをクリックすると"not hit"にリセットします。自機の移動は矢印キーです。 真下に撃った時はほぼ正しい範囲なのですが、 斜めに撃たせるように誘導させ、真下に逃げ込むと「hit」扱いになってしまいます。 これは境界ボックスが、斜めになっているビームを対角線としてボックスを作っているからだと予想しますが、 これを回避し望んだ当たり判定にするためにはどのような方法があるでしょうか。 よろしくお願い致します。 |
ebi | Åê¹ÆNo.28945 投稿日時: 2006-9-27 10:33 |
フォーラム芸人 居住地: nagoya 投稿: 926
使用環境:
.6.8 CS6 <参考書> ・基本からしっかりわかるActionScript 3.0(既読) ・ActionScript3.0プロフェッショナルガイド(進行中) ・ActionScript3.0パフォーマンスチューニング(未読) ・ActionScript 3.0 逆引きクイックリファレンス(購入予定... |
Re: hitTestの判定を細かく設定したい ebiです。レスで遅れました。
mcではなくポイントで判定してはどうでしょうか。
今回の例でいうと 砲撃mc.hitTest(自機x,自機y,true) ですね。 最後のブーリアンの引数は trueなら形で判定、falseなら境界線で判定です。 つまりtrueにしておくと例え星形でも正確に 判定できます。ただしその判定対象はポイントなので 注意が必要です。自機のポイントがどこにあるかで微妙に 結果が変わってしまいます。 回避するには自機の四隅に判定ポイントを設定し、 そのどれかに接触したらhit...とか。 それだとそれで処理が間に合わない事も考えられますが。 痛し痒しなので、バランスとってみましょう。 |
テライユタカ | Åê¹ÆNo.28948 投稿日時: 2006-9-27 11:49 |
常連 居住地: わかやま 投稿: 88
使用環境:
iMac G5 10.4.9 + iBook G4 10.3.9 + Flash8 |
Re: hitTestの判定を細かく設定したい キャラ画像MCとちょっと小さめの当たり判定用MCを別に(画像MCの中に透明の当たり判定用MCを入れ子にする)してみてはどうでしょう?
超有名シューティングゲームでいうと『ゼビウス』の翼は当たり判定ありませんでしたね。 どちらかと言うと、ゲームとしても「おい!今のほんまに当たったか?? 」より「お?、今のセーフか?助かった? 」の方が楽しめるんじゃないでしょうかね。
|
ebi | Åê¹ÆNo.28951 投稿日時: 2006-9-27 11:59 |
フォーラム芸人 居住地: nagoya 投稿: 926
使用環境:
.6.8 CS6 <参考書> ・基本からしっかりわかるActionScript 3.0(既読) ・ActionScript3.0プロフェッショナルガイド(進行中) ・ActionScript3.0パフォーマンスチューニング(未読) ・ActionScript 3.0 逆引きクイックリファレンス(購入予定... |
Re: hitTestの判定を細かく設定したい
|
sarasou | Åê¹ÆNo.28955 投稿日時: 2006-9-27 12:50 |
新米 居住地: 投稿: 24
使用環境:
WinXP Home SP2 Flash8 |
Re: hitTestの判定を細かく設定したい レスありがとうございました。
わざわざサンプルまで作っていただいて、非常に助かりました。 点で指定すると形で判定できるのですね。全く存じませんでした。 現在Flashを編集できる状況ではないので、後々試してみたいと思います。 *生意気ながら、小さめのヒットボックスは既に使用していたりします。 体に当たりながらも死んでないというのはなかなか快感なものですよね |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |