2016-11-01 12 views
-1

これを簡単に説明すると、ユニットがあるゲームマップがあり、ミニマップのユニットにはロールオーバー/ロールアウトのイベントリスナーがある完全なインタラクティブミニマップが完成しましたポップアップユニットのデータ要約)をクリックして(メインゲームマップ上の「実際の」ユニットを選択し、その位置に視点をスクロールする)すべては完了し、テストされ、働いています。AS3で見つからないマウスイベントを見つけるための戦略

次に、ステータスサマリデータとロールオーバー/ロールアウト/クリックリスナーを含む数十のオブジェクトを含むインタラクティブスクロール可能ユニットリストを実装します。すべてのテスト済みと正常に動作します。

私は戻ってミニマップを見て、ミニ船のリスナーはもはや働いていません。物事は試してみました:私はすべての場所を見て

  • デバッグ不意に起きていないことを確認するためにそれらのリスナーを削除するところ

    1. デバッグコードはまだ一つの場所を見に
    2. デバッグを追加されていることを確認リスナーを作成します私はそのダイアログをリフレッシュしてすべての繰り返しがリスナーを追加することを確認します
    3. トップインターセプトで透明なオブジェクトがないことがわかりません
    4. 私がmouseChildrenなどをオフにしていないことを確認するためにチェックしましたそれはどこかで
    5. 添加していない段階レベルのリスナーは、実際に私は灘
    6. 私はミニ船リスナーハンドラにブレークポイントをデバッグするときに何が起こる

    これでテストするために、一時的にそれらのすべてを殺しました。それはもはやマウスイベントを受信しません。だから、私が考えなかったことが、彼らが聞くことを止めたか、私が知らない何かが傍受している。

    ここではどのような戦略ですか?チェーンの中でどのようにブレークを見つけることができますか?

  • +0

    これが見つかりました。上記の3)で失敗しました。後で、コンテンツの一部にリスナーを追加する関数を呼び出すことなく、そのダイアログを更新したところでよく呼び出される場所が見つかりました。だからあなたはおそらくそれをそうするべきではない。それは、私が試してはいけないことについてのアドバイスは、私が試したことがないと言いましたか? – vossiewulf

    +0

    mouseEnabledは、そのオブジェクトのリスナーも無視します(mouseChildrenは、オブジェクト自体のオブジェクトではなく、そのオブジェクトの子のイベントを無効にします):) – Philarmon

    答えて

    0

    実際の問題が確かにわかっていたのは、あなたが関数の内部でリスナーを追加するトレース呼び出しを追加することでエラーを検出できたということですそれを取り除く。それで、あなたはそれが再追加されていないのを見たでしょう。または、そこにブレークポイントを設定することもできます。

    +0

    おかげで、次回は助けてくれるアドバイスです。 – vossiewulf

    関連する問題