Modale Fenster in Flash
Kurze version:
Ist es einfach/möglich/möglich-Programm -, modal-Fenster in Flash (AS3)? Gibt es eine built-in-Funktionalität für Sie?
Lange version:
Arbeite ich an einem Flash-widget (AS3), und ich möchte in der Lage sein zu zeigen, einen Film-clip in einem modalen Mode. Im wesentlichen, ich brauche ein einfaches modales Fenster in dem wieget. So weit ich gelernt, dass ich die Notwendigkeit zur Umsetzung der "modalness" von mir (AS3). Früher gab es so etwas in früheren Flash-Versionen, und es ist etwas im Flex, aber ich habe keine Erfahrung mit Flachs-und ich bin mir nicht sicher, was es beinhaltet.
Fuhr ich Fort, es zu schreiben, selbst ohne Tiefe Planung im Vorfeld und schnell und trifft einige Probleme. Es scheint, dass die Wurzel der Probleme ist, dass ich nicht halten können einen Schwerpunkt auf einen Film-clip (oder ein InteractiveObject
um genau zu sein). Ich Griff beide KEY_FOCUS_CHANGE
und MOUSE_FOCUS_CHANGE
Veranstaltungen, während Sie versuchen, zu verhindern, verlieren Fokus FocusEvent.preventDefault()
. Aber ich immer noch schaffen, verlieren den Fokus durch klicken mit der Maus. Was ist noch seltsamer ist, dass wenn ich Kraft den Fokus mit der Stage.focus
Eigenschaft, bekomme ich eine hässliche suchen dicken gelben Linie um mein Film-clip. In vermutlich zeigt an, dass die Film-clips ist konzentriert, aber normalerweise ist es nicht überall. Bedeutet es, dass das Objekt nicht Isoliertes, aber ich habe irgendwie Kraft zu konzentrieren es überhaupt?
Merke ich, dass die oben genannten Fragen sind nicht ganz klar und ich erwarte nicht wirklich beantworten. Aber was ich versuche zu zeigen ist, dass es scheint, dass ich was falsch mache. Also die wichtigste Frage ist: gibt es einen einfachen Weg, um ein modales Verhalten im Flash? Ich denke, die Programmierung von Grund-und Rohrleitungen und der Umgang mit Verschieden kleinen Veranstaltungen ist etwas, was ich nicht tun sollte.
Die Tatsache, dass reizt mich am meisten, dass ich brauche dieses modal-Witwe zu behandeln-und zeigen einige edge-Fall Fehlermeldungen. Und so, dass du so viel Mühe in die es scheint nicht richtig zu sein. Vielleicht gibt es eine ganz andere Art und Weise.
Ich bin mir der Tatsache bewusst, dass diese Frage vielleicht nicht unterstützt durch ausreichende Forschung, aber ich fing mit der Arbeit an etwas, was ich dachte dauern würde, mir eine halbe Stunde und es hat bereits schon mehrere Stunden. Ich kann mehr systematische Forschung und post mehr konkrete Fragen später.
InformationsquelleAutor Jan Zich | 2009-07-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist ganz einfach:
werden Sie fügen Sie einfach ein Rechteck, was deckt die gesamte flash, und fügen Sie das modale Fenster oben drauf. alle mausevents gefangen werden, die von diesem Rechteck. Wenn Sie möchten, können Sie den Fokus zu null, Gewährleistung keine Tastatur-events.
der folgende code ist eine Klasse für dieses Rechteck. fügen Sie es mit addChild(), bevor das modale Fenster.
}
InformationsquelleAutor csomakk
Nachdem einige weitere Experimente und Untersuchungen, ich glaube ich habe ein ziemlich saubere Lösung. Das meiste davon basiert auf dem Beispiel in der offiziellen Dokumentation des FocusEvent event. Was folgt, ist eine vereinfachte version der implantation.
InformationsquelleAutor Jan Zich