Was ist der Unterschied zwischen den onMouseUp/Down und onPress/Release-events in Flash?
In Flash, scheint es zwei Sätze von Maus-Klick-events:
- onMouseUp, onMouseDown
- onPress, onRelease
Ist es, die tatsächliche Differenz zwischen diesen Ereignissen? Ich kann nicht sagen, von der Dokumentation, und ich habe nicht bemerkt, nichts in der tatsächlichen Nutzung, aber es scheint seltsam, um zwei unterschiedliche Namen für die gleiche grundlegende Ereignisse. Bin ich etwas fehlt? Gibt es einen Unterschied zwischen Ihnen?
Klarstellung: Dies ist in ActionScript 2 code, die speziell auf Flash 8.
Du musst angemeldet sein, um einen Kommentar abzugeben.
onMouseDown und onMouseUp sind die Allgemeinen Ereignisse, die nichts hören können, per Maus.addListener(). Sie erhalten ausgelöst, egal wo mit der Maus geklickt wird.
onPress und onRelease sich auf einen bestimmten MovieClip. Sie werden nur ausgelöst, wenn die Maus gedrückt wird oder freigegeben ist, während auf der Oberseite von diesem MovieClip. Wichtig ist auch onReleaseOutside...für den Fall, wo Sie klicken Sie auf einen MovieClip, dann ziehen Sie die Maus außerhalb, dann die Maustaste loslassen. In diesem Fall wird es keine onRelease-Ereignis, nur ein onReleaseOutside-Ereignis, so dass, wenn Sie hören auch nicht auf die letzteren, Ihrem Programm, dass der Maus-Taste steckengeblieben ist.
Press/Release sind Interaktion Ereignisse, keine mouse-events. Wenn Sie aktivieren einen button oder MC mit der Tastatur (durch drücken der Tabulatortaste und mit der Leertaste), wird es Feuer ein Presse-event, aber nicht ein MouseDown. Ebenso, wenn Sie auf eine deaktivierte Taste,, Feuer, ein MouseDown-Ereignis, aber nicht ein Drücken Sie (da keine Schaltfläche Interaktion tritt).
Nicht ein flash-Entwickler sind, aber im normalen windows-apps können Sie über eine Schaltfläche mit der Leertaste, und aktivieren Sie es mit der enter-Taste.
Auch ein MouseUp/Down kann überall passieren und darf nicht den Eindruck vermitteln, nichts. Ein Press/Release auf ein bestimmtes Steuerelement hat damit mehr Bedeutung.
Fand ich dies, während Sie einige googeln der Frage:
http://www.gogoat.com/2006/07/27/onpress-vs-onmousedown/
Sieht es aus wie das mouseUp/mouseDown-Ereignisse wird ausgelöst, auch wenn die Maustaste außerhalb des Movieclips, während onPress/Release wird automatisch überprüfen, um zu sehen, wenn sich der Mauszeiger in den clip, bevor Sie verarbeitet werden. Ich hätte schwören können, ich habe das getestet, aber ich habe gerade überprüft es, also muss ich nicht haben.
onPress und onRelease sind halt ein Relikt aus AS2-code, Sie wurden verdrängt von onMouseDown und onMouseUp in AS3, die Sie nachlesen können in der AS2 Migration Guide.