Design. Technology. Cool Shit – FITC Amsterdam

FITC Amsterdam

Auch ich bin dabei.

Die FITC findet am 25. und 26. Februar zum ersten Mal in Europa, nämlich in Amsterdam, statt. Da Dominic in ein paar Wochen in Amsterdam anfängt, bietet sich das an. Ist für mich die erste FITC, bin also schon sehr gespannt. Die Speaker lassen sich schon mal gut lesen, mit Joa ist sogar ein deutscher dabei.

Bis 8. Januar gibt es übrigens noch Early Bird Tickets, falls sich von euch auch noch jemand auf den Weg machen möchte. Für Flashforum Mitglieder gibt es hier noch einen Rabattcode um weitere 25% zu sparen.

Geschrieben in Sonstiges | 2 Kommentare

Delegate mal anders

Jeder, der mit AS2 arbeitet, kennt die Scope Probleme und wird früher oder später zwangsläufig mit einer Delegate Klasse arbeiten.

addEventListener(Event.EVENT, Delegate.create(this, onEvent));

Die Delegate Klasse gibt eine Funktion zurück, die auf die entsprechende Methode verweist. Problematisch wird das, wenn man beispielsweise den Event Listener wieder entfernen möchte. Hier bin ich üblicherweise hingegangen und habe mit einer Instanzvariable gearbeitet:

private var delegate:Function;

...
delegate = Delegate.create(this, onEvent);
addEventListener(Event.EVENT, delegate);
removeEventListener(Event.EVENT, delegate);

Aber man lernt ja nie aus und gestern bin ich auf einen interessanten Lösungsansatz gestoßen. Und zwar kann man einfach die Methode mit ihrem Delegate überschreiben und anschließend die Methode quasi direkt ansprechen. Leider ist dieser Ansatz nicht ganz sauber, aber von der Anwendung doch eine feine Sache.

public function destroy():Void
{
   button.removeEventListener(Event.EVENT, onEvent);
}

private function init():Void
{
   // Methode überschreiben
   onEvent = Delegate.create(this, onEvent);

   button.addEventListener(Event.EVENT, onEvent);
}

private function onEvent(e:Event):Void
{
}

Da kommt ja fast AS3 Feeling auf. Also danke für den Tipp!

Geschrieben in ActionScript, Flash | Keine Kommentare

Links