2010-12-12 12 views
1

In Flex 3 könnte MX Effekte wie diese ausgelöst werden:Spark-Effekte: Warum wird der prozedurale Code gegenüber Triggern bevorzugt?

<mx:Resize id="myEffect" /> 
<mx:Button mouseDownEffect="{myEffect}" /> 

In Flex 4 Spark Effekte wie diese ausgelöst werden:

protected function onClick(event:MouseEvent):void { 
    resizeEffect.end(); 
    resizeEffect.play(); 
} 
... 
<s:Resize id="resize" /> 
... 
<s:Button click="onClick(event)" /> 

Was ist der Grund war dies weniger deklarative und mehr zu verwenden, Ansatz? Ich konnte die Antwort nirgends in den Dokumenten finden.

(zwei Dinge zu beachten:.

  1. Es können kleine Unterschiede zwischen mouseDown- Trigger und dem Click-Ereignis sein, ignorieren Sie das, es ist nur ein Beispiel
  2. Ich bin nicht sicher, ob Trigger würde oder würde nicht zuverlässig für Spark-Effekte funktionieren. Vielleicht würden sie, aber ich denke, es gibt einen Grund, warum diese Möglichkeit nicht einmal in den offiziellen Dokumenten erwähnt.

)

Antwort

1

Effektauslöser werden in der aktuellen Version nicht offiziell in Spark unterstützt. Sie können den Fortschritt dieser Funktion hier verfolgen: http://bugs.adobe.com/jira/browse/SDK-19743

+0

Kennen Sie das Warum hinter dieser Entscheidung? War es der Zeitmangel? Ich finde es seltsam, dass das gesamte deklarative Spark-Modell Imperativ-Code verwendet, um Effekte auszulösen. – Borek

+0

Ich bin mir nicht wirklich sicher, was die Entscheidung betraf, aber ich würde vermuten, dass ein Ausgleich zwischen der Zeit, die zur Implementierung des Features erforderlich war, und der Priorität unter anderen Features sein könnte. Möglicherweise wurde es als ein Feature identifiziert, das mehr Community-Feedback benötigt, um zu sehen, wie oft es tatsächlich verwendet wird. Bitte stimmen Sie über den Fehler ab und/oder hinterlassen Sie einen Kommentar mit Ihrem Anwendungsfall, wenn Sie der Meinung sind, dass dies wichtig ist. Je mehr Stimmen/Rückmeldungen es erhält, desto größer ist die Wahrscheinlichkeit, dass es umgesetzt wird. –

0

Ich füge hinzu, dass die Flex 4-Schaltfläche immer noch effect triggers in den ASDocs dokumentiert, einschließlich eines mouseDownEffect. Bist du sicher, dass sie nicht funktionieren?

Das heißt, hinter den Kulissen, im Code der Komponente, funktionieren die Effekte genauso wie die zweite Probe. Irgendein Code irgendwo, um den Effekt zu erhalten, falls es existiert, und manuell mit der Wiedergabe des Effekts umzugehen.

Da Spark einen halbgebrannten Komponentensatz hat, sind solche Dinge möglicherweise noch nicht implementiert. Es ist auch möglich, dass der Effekt nicht an die Skin-Klasse Ihrer Schaltfläche weitergegeben wird, die vermutlich mit solchen visuellen Änderungen zu tun haben sollte.

Vielleicht sollten Sie uns einige ausführbare Proben zur Verfügung stellen?