メイン コーダーズルーム【スクリプト系】 微妙に重なるボタンのイベント取得について | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
CUBE-CUBE | Åê¹ÆNo.16524 投稿日時: 2005-4-6 15:56 |
新米 居住地: JAPAN 投稿: 29
使用環境:
windows2000 / windowsXP HOME sp2 FlashMX2004Pro |
微妙に重なるボタンのイベント取得について たびたび失礼します。
完全ではなく微妙に重なるボタンオブジェクトがある時、最初のボタンに対しての on(rollOver) は取得できるのですが、そのまま微妙に重なっているボタンオブジェクトにマウスカーソルを移動させても on(rollOver) イベントを取得できません。 一度、ボタンからマウスを外し再度、微妙に重なっているボタンオブジェクトにカーソルを合わせればイベントを取得できるのですが、こういった場合、皆様はどのように解決なさってますでしょうか? 宜しくお願いします。 制作環境はwin2000の MX2004PROです。
|
野中文雄 | Åê¹ÆNo.16527 投稿日時: 2005-4-6 16:06 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: 微妙に重なるボタンのイベント取得について 特定の位置座標(たとえばマウスポインタ)については、「重なっている」か「重なっていない」かのどちらかになるはずです。「微妙」の意味が、わかりかねます。
マウスイベントを受取るon ()ハンドラの設定されたインスタンスが「重なっている」場合、重なり順で手前のインスタンスがイベントを排他的に受取ります。 背面のインスタンスでマウスイベントを処理したい場合には、on ()ハンドラを使わずにマウス操作を検出します。 参考:「onハンドラを使わずにロールオーバー/ロールアウトを検出する」 引用: CUBE-CUBEさんは書きました: ご使用の環境は、プロフィールに記入することが推奨されています。 引用: 制作環境はwin2000の MX2004PROです。 |
CUBE-CUBE | Åê¹ÆNo.16528 投稿日時: 2005-4-6 17:13 |
新米 居住地: JAPAN 投稿: 29
使用環境:
windows2000 / windowsXP HOME sp2 FlashMX2004Pro |
Re: 微妙に重なるボタンのイベント取得について 野中様
ご返信ありがとうございます。 作業環境登録させて頂きました。 現象ですが、上手く説明できなくて申し訳ありません。 例えばなのですが、下記の様にROOTに (■と□はボタンシンボル) ■□ とボタンシンボルが離れて並んでいる場合、普通にイベントが取得できるのです。 ところが、隣合うボタン同士が1pxでも重なっている場合(■の右側数ピクセルと□の左側数ピクセルのみが重なる)マウスが左から右の場合は■のon(rollOut)が右から左の場合は□のon(rollOut)しか反応しません。 実際には■から□へマウスが移動した時に■のon(rollOut)は動いている様でした。 説明が回りくどくて申し訳ございません。 今回は動的に最大30個のボタンを配置するため、全てでonClipEvent(enterFrame)を走らせるのに躊躇したのですが、実際負荷レベルはどのようなものなのでしょうか?
|
野中文雄 | Åê¹ÆNo.16542 投稿日時: 2005-4-6 21:41 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: 微妙に重なるボタンのイベント取得について 以下のご説明は、先のポストで引用した私のノートの解説と一致すると考えてよいのでしょうか。
つまり、■が背面□が前面で一部重なり合っている場合、■上から□と重なり合った部分にマウスポインタを移動すると、□が重なった領域に入ったとき(まだ■上にポインタがあるにもかかわらず)■のon (rollOut)イベントが発生します。逆に□から■と重なり合った部分にマウスポインタを移動すると、■上の領域に入っても□が前面にあるかぎり□はon (rollOut)イベントを受取りません。 もし、この内容と異なる現象でしたら、もう少し詳しくご説明ください。 引用: CUBE-CUBEさんは書きました: 負荷の度合いは、もちろんその処理内容によります。しかし、onClipEvent (enterFrame)自体は、アニメーションで標準的に使用されるイベントハンドラです。たとえば、スクリプトで敵艦やそのの砲弾をランダムに飛ばす場合や、スクリプトで雪を降らせるといったアニメーションでは、数十から数百のインスタンスを動かすことはありえると考えます。 30個という数自体がそれほど多いとは思えません。もっとも、実際にはその動作を、具体的にターゲット環境で確認する必要はあります。 引用: 今回は動的に最大30個のボタンを配置するため、全てでonClipEvent(enterFrame)を走らせるのに躊躇したのですが、実際負荷レベルはどのようなものなのでしょうか? |
CUBE-CUBE | Åê¹ÆNo.16551 投稿日時: 2005-4-7 11:15 |
新米 居住地: JAPAN 投稿: 29
使用環境:
windows2000 / windowsXP HOME sp2 FlashMX2004Pro |
Re: 微妙に重なるボタンのイベント取得について 野中様。
ご返信ありがとうございます。 大変申し訳ないのですが、先日ポストした私のないように致命的な間違いがありました。 (■と□はボタンシンボル) ■□ とボタンシンボルが離れて並んでいる場合、普通にイベントが取得できるのです。 ところが、隣合うボタン同士が1pxでも重なっている場合(■の右側数ピクセルと□の左側数ピクセルのみが重なる)マウスが左から右の場合は■のon(rollOver)が右から左の場合は□のon(rollOver)しか反応しません。 実際には■から□へマウスが移動した時に■のon(rollOut)は動いている様でした。 イベントの内容なのですが、rollOverをrollOutと書いてしまっていました・・・今回のコアになる部分を間違いえてしまい、申し訳御座いませんでした
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |