Archiv für Januar 2007

Flash nervt (Teil III): Textfeld skalieren

Dienstag, 30. Januar 2007

Mir ist eben wieder so eine Eigenart von Flash aufgefallen, die mich zweifeln lässt, ob im Hause Macromedia vor Veröffentlichung des Produkts jemand “nochmal drüberschaute”, also sicherstellte, dass kein Schrott im Namen des Unternehmens auf den Markt kommt.

Entweder muss die Frage verneint werden, oder es gab so jemanden nicht vor Release der Version 8.

Ziehe ich per Text Tool einen Textfeldrahmen auf und möchte ihn später in der Breite oder Höhe noch anpassen, damit vielleicht mehr oder weniger Text hineinpasst oder diese Höhe- und Breitewerte ganzzahlig (z.B. 250px statt 250.8px ) sind, sehe ich primär zwei Möglichkeiten, dies zu erreichen:

1) “Anfasser” bei ausgewähltem Textrahmen benutzen.
2) Im Eigenschaftenfenster die Zahlen bei “W:” und “H:” eintragen.

Variante 1 hat den Nachteil, dass ich so keine ganzzahligen Werte “treffe”. Das gelingt nur (aber auch nicht auf Anhieb) bei 2000-prozentiger Vergrößerung der Ansicht.

Bei Variante 2 erhalte ich hingegen zwar die pixelgenaue Größe für mein Textfeld, muss aber leider in Kauf nehmen, dass die Schrift im Textfeld im fertigen Film gestreckt oder gestaucht angezeigt wird — boing!

Oh, erwähnte ich schon…

Dienstag, 30. Januar 2007

…dass ich jüngst mit meinem Sohn Papierflieger steigen lassen wollte?

Ich hatte seit einer Ewigkeit keinen mehr gebaut (der Papierflieger ist gemeint; Sohn-Bauen liegt erst zwei Jahre zurück). Meine Faltversuche an jenem Tag resultierten in nicht allzu spektakulären Modellen, die bei Testflügen in der Wohnung von Junior mit “Geht nicht” verdammt wurden.

“Geht nicht, gibt’s nicht”, dachte ich und setzte mich an den Rechner, um mal nach diesem Thema zu googlen. Ergebnis: Papierflieger.net

Auf dieser optisch wenig eindrucksvollen Website werden tolle Papierfliegermodelle vorgestellt und gleich zum Nachbauen mit Anleitungen präsentiert.

Einen DIN A4-Bogen aus dem Drucker meiner Freundin gemopst, hier geknickt, dort gefaltet — volià! Ist im Schanzenpark geflogen wie noch kein Flieger, der meine Werft verlassen hat.

Jetzt wünschte ich noch, dass es ähnlich hilfreiche Websites zu den Themen Klamotten-Falten und Anzughosen-Bügeln gäbe…

Freizeilen von PHP nach Flash

Donnerstag, 25. Januar 2007

Vor einiger Zeit schrieb ich ja bereits über die Tücken der Sonderzeichen und Freizeilen in Bezug auf PHP und Flash (wer der große Schuldige ist, kann ich gar nicht recht sagen). Wenn ich den Artikel lese, erhalte ich am Schluss den Eindruck, dass ich die Probleme ein für allemal gemeistert hätte. Wie ich heute morgen herausfinden musste, befand ich mich mit dieser Annahme auf der nicht-metallischen Straße oder auch dem hölzernen Pfad…
Bei einem aktuellen Projekt werden Daten in HTML-Formularfelder eingegeben, per PHP in einer MySQL-Datenbank abgelegt und später von einem Flashfrontend angefordert. Dazu führt Flash eine PHP-Datei aus, die die Daten aus der Datenbank abholt und per echo-Befehl an Flash liefert. Im Grunde dasselbe Szenario wie Anno 2005. Doch im Gegensatz zu damals spielt es im vorliegenden Fall offenbar keine Rolle, dass ich die Daten (wie damals) per PHP-Skript in die Datenbank einspeise, denn aus einem Testeintrag…

Eine Zeile frei:

Zwei Zeilen frei:

Ende.

…wird in Flash 8…

Eine Zeile frei:
Zwei Zeilen frei:

Ende.

Wo eigentlich eine Zeile frei sein sollte, werden in Flash derer zwei angezeigt. Noch größer klafft die Lücke bei zwei gewünschten Freizeilen.

Warum ich seinerzeit ohne Skript-Manipulationen weitergekommen bin, ist mir heute schleierhaft. Aber ich habe eine Lösung gefunden, die hoffentlich auch beim nächsten Projekt noch funktioniert…:

Statt die Textdaten unverändert aus der Datenbank an Flash zu übergeben mit…

$send2flash = “copy=”.utf8_encode( $row['copy'] ).”&”;

…lasse ich per str_replace erst alle Vorkommen der Steuerzeichen #0D #0A oder Dezimal 13 10 — Erstgenanntes steht für Carriage Return, Letzteres für Line feed — durch ein einfaches \n ersetzen:

$transformedCopy = str_replace( “\r\n”, “\n”, $row['copy'] );
$send2flash = “copy=”.utf8_encode( $transformedCopy ).”&”;

Dann klappt es. Diesmal.

Interessante Website zum Thema JavaScript

Mittwoch, 24. Januar 2007

Albert Kluge aus Bremen (so steht’s zumindest auf der Kontaktseite geschrieben) ist so nett, uns via seine Website JJam.de teilhaben zu lassen an seinen “Programmierbemühungen in Java und JavaScript”.

Die meisten Skripte haben eine Vorschau oder Demo, was natürlich viel besser ist, als sich ein fremdes Skript auf blauen Dunst hin erst einmal herunterzuladen, bevor man weiß, was man bekommt.

Größtenteils bin ich ziemlich beeindruckt von Herrn Kluges “Bemühungen”! ;-)

Keine Referenz auf AS-Textfelder vor Flashplayer 8

Dienstag, 16. Januar 2007

Lästig, lästig: Der Aufruf der Methode createTextField() gibt erst ab Flashplayerversion 8 eine Referenz auf das so erzeugte Textfeld zurück und unterscheidet sich daher in puncto Handlichkeit von den Methoden attachMovie() und createEmptyMovieClip().

In der Regel versuche ich, mir Tipparbeit und somit Zeit zu sparen, indem ich kurze Referenzbezeichner verwende, um die Eigenschaften eines per AS an eine Zeitleiste angehängten oder eines neu erzeugten Movieclips zu setzen.

Statt…

_root.attachMovie(“linkageName”, “unhandlicherNameDesTextfeldes”, 0);
unhandlicherNameDesTextfeldes._x = 100;
unhandlicherNameDesTextfeldes._y = 100;
// usw.

…schreibe ich eigentlich lieber…

mc = _root.attachMovie(“linkageName”, “unhandlicherNameDesMovieclips”, 0);
mc._x = 100;
mc._y = 100;

…, verwende also eine Referenz auf den angehängten Movieclip.

Und genau das ist bei createTextField() leider nicht möglich (die Methode liefert statt einer Referenz void zurück) — erst bei neueren Flashplayern.

Guide to becoming an evil overlord

Montag, 15. Januar 2007

“Being an Evil Overlord seems to be a good career choice. It pays well, there are all sorts of perks and you can set your own hours. However every Evil Overlord I’ve read about in books or seen in movies invariably gets overthrown and destroyed in the end. I’ve noticed that no matter whether they are barbarian lords, deranged wizards, mad scientists or alien invaders, they always seem to make the same basic mistakes every single time. With that in mind, allow me to present…

The Top 100 Things I’d Do If I Ever Became An Evil Overlord” – nachzulesen und zu bekichern hier.
Eigentlich alle sehr witzig, aber einer meiner Favoriten steckt auf Platz 46:

“If an advisor says to me ‘My liege, he is but one man. What can one man possibly do?’, I will reply ‘This.’ and kill the advisor.”


Oder nein, Platz 65! Oder…