Please get yourself a newer Browser. IE6 is really, really ancient and is not supported anymore. Sorry.

Archiv für die Kategorie ‘actionscript’

Es gibt so Dinge…

Freitag, 11. Januar 2008

Es gibt so Dinge, die machen das Leben eines Software-Entwicklers nicht eben spassiger und gerade Actionscript ist in dieser Beziehung ein Quell stetiger Freude, denn so etwas gehört definitiv dazu:

PNGs can not be loaded. You can import the png into a new fla and export it as an swf which can loaded.
Loading external png files to a Flash movie?

Solche Sachen sind übrigens auch extrem schlecht für die Work-Life-Balance eines Entwicklers, weil sie schuld sind, dass die Nächte vor dem Rechner immer wieder lang werden.

Update

I am not entirely certain that you can put a text box inside a Flash button and address it the way you want to.
http://www.actionscript.org/forums/archive/index.php3/t-36760.html

Was soll ich da noch sagen?..

Error-proofing in Flash Remoting

Freitag, 07. Dezember 2007

Für die Uni entwickle ich gerade Flash-basierte Spiele für mobile Geräte – N800 Internet Tablets von Nokia (die ziemlich lecker sind!).

N800 - Yummy
Bild ausgeliehen von rnair

Für die Kommunikation mit dem Backend nutzen wir WebOrb und Flash Remoting. Das ist die einzige Variante, die nicht weh tut.

Da diese Geräte sich aber potentiell nicht immer in Reichweite eines Wlan befinden, können wir uns nicht auf ständige Verbindung mit dem Server velassen. Das ist eine Sache, die Rico und mir jedoch heute so langanhaltend Kopfschmerzen bereitet hat, dass ich die Lösung hier lieber mal poste und dem Nächsten, der drauf stösst wünsche, dass Google diese Seite möglichst rasch mal indiziert.

Das Problem

Kurz und schmerzlos: die AS-Connection Klasse aus mx.remoting ist ein ausgesprochener Optimist. Es wird stets davon ausgegangen, dass das Remoting Gateway erreichbar ist. Eigentlich ist es unfassbar. Es gibt keinerlei Connection-Test. So ist es natürlich auch nur logisch, dass man in eine Flash-Exception "Error opening URL ..." läuft.

Die Lösung

Das die Connection Klasse kein onStatus publiziert, wenn das Gateway nicht erreicht werden kann, muss man dieses Verhalten nach implementieren:

Änderungen an der Connection Klasse:

  • Initialisieren von ASBroadcaster
  • Dispatch onStatus event

Änderungen an der Service Klasse:

  • Anmelden als Listener für die Events der Connection Klasse

Eine genaue Beschreibung, wie das ziemlich einfach geht hat Caleb Adam Haye zusammengetragen, dessen Artikel wir leider VIEL zu spät gefunden haben.