Flash: Wie kann ich das Deaktivieren oder zu blockieren alle Maus-events, die vorübergehend für eine extern geladene SWF
Habe ich SWF-Dateien, die lade ich in mein flash Film und diejenigen, die SWF-Dateien haben manchmal die Maus-Ereignisse, die stören können Dialoge und buttons in meinem flash-Film. Ich würde gerne vorübergehend deaktivieren Sie die geladene SWF-Dateien Maus-event-Handler oder blockieren Sie aus, die irgendwelche Auswirkungen auf mein flash-Film. Mein flash-Film ist ALS 2.
InformationsquelleAutor Jon | 2009-07-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einer gemeinsamen Lösung für diese Art von problem in ActionScript 2 ist, was oft als "blocker" - clip. Einfach erstellen Sie ein movieclip, der aus einer vollständig transparenten füllen. Dann kann man dieses movieclip-wo immer Sie wollen, und die Größe, wie gebraucht. Schließlich weisen Sie diesem clip eine dummy-Maus-Ereignis und deaktivieren Sie die Verwendung der hand-cursor - so:
Solange dieser clip ist über Ihren Inhalt laden, wird es absorbieren alle Maus-events.
Gut, ich bin zuversichtlich, dass diese Technik funktioniert - ich benutze es die ganze Zeit! Sie müssen sicherstellen, dass der movieclip sichtbar ist (blocker._visible = true). Sie können hinzufügen, einige tatsächliche Farbe der Füllung, um sicherzustellen, dass Sie sind, in der Tat, vor der geladenen SWF-da ist es leicht, die Tiefe falsch mit AS2.
Ja, ich habe es auch. Ich habe meine blocker clip enthalten eine große Blaue Rechteck, so bin ich mir sehr sicher, es wird geladen und auf die richtige Breite und Höhe. Wenn Sie interessiert sind, die Mittel, die mir die größten Kopfschmerzen sind von Print2Flash.
InformationsquelleAutor Branden Hall
Erstellen Sie Ihre event-handler-im moment ist es tatsächlich benötigt wird, wie das wird, wenn die Schaltfläche oder das Objekt kommt auf den Rahmen.
Wenn der Ereignis-listener Mausklicks bereits erstellt wurde, können Sie Sie entfernen den Hörer jederzeit in actionscript.
Haben und dann eine Funktion oder eine Verwandte Logik drehen Sie die Maus-event-handler wieder auf später
"handleMouseClick" wird die eigentliche Funktion und code, der etwas tut, klicken Sie mit der Maus
Andere Lösung ist, um einige Globale boolean-flag in Ihrem actionscript-Code auf Ihrem Hauptzeitleiste und dann innerhalb der Funktionen zum verarbeiten von Maus-Funktionalität können Sie zunächst überprüfen, für die Boolesche bevor etwas zu tun. Die Maus-event wird noch erstellt und übergeben dem Ereignishandler kann aber selektiv ignoriert, je nach Zustand Ihres boolean-flag.
Auch, dass code ist AS3-spezifisch und funktionieren nicht mit AS2.
InformationsquelleAutor Gordon Potter
Als die anderen Antworten Stand, die Art und Weise zu stoppen, klicken Sie auf Ereignisse auf eine untergeordnete SWF-Datei ist, um ein blocker Objekt vor. Der Schlüssel ist für den blocker ein Taste. Eine einfache clip mit einer Form noch lassen, klickt sich durch zu AS2 untergeordneten SWF-Dateien.
Den blocker-Schaltfläche auch nötig ist, wenn entweder eine AS2-oder AS3-Elternteil ist das laden einer AS2 untergeordnete SWF-Element.
InformationsquelleAutor anthonysapien
Können Sie auch eine variable verwenden, und überprüfen Sie, ob der Zustand " 0 " geändert, wenn clickEvent-Funktion aufgerufen wird.
Set
lockScreen = 1
wenn Sie möchten, zu ignorieren, klicken Sie auf Ereignisse, und legen Sie Sie zurück auf Null nach etwas zu tun.Zumindest ist es bei mir funktioniert 🙂
InformationsquelleAutor Devyn