Archive for the ‘ Flash ’ Category

Es war einmal..

Es war einmal ..

ein cleverer Bursch’, der erkannte, dass HTML5 das Potential hat, um Flash gänzlich zu ersetzen.
Es fehlte nur der Wille und der Ehrgeiz aus der Industrie, entsprechende Tools zu entwickeln. Viele Lobbyisten rund um Flash haben schon den Scheiterhaufen vorbereitet, um den Burschen öffentlich zu verbrennen.
Doch der Bursche hatte einfach zuviele Anhänger aus dem Volk, als dass man ihn ignorieren könnte.

Ende vom Lied:  Sogar die Mädels, die hinter Flash stehen, bauen nun Tools um mit HTML5 umzugehen. Und wieder einmal hat das Volk gesiegt — oder so ähnlich ;)

Und nun bitte ‘Flash‘ durch ‘Atomkram‘ und ‘HTML5‘ durch ‘Erneuerbare Energien‘ ersetzen. Aber wie das so mit Geschichten ist…

Follow up zu dem Thema: http://visitmix.com/labs/ai2canvas/introduction.html

HTML 5

Wenn ich mir ein paar Beispiele anschaue, was mit HTML 5 und JS alles möglich ist, ist es mehr als verständlich, dass Steve Jobs resp. Apple sich von Flash distanziert.

http://www.craftymind.com/2010/04/20/blowing-up-html5-video-and-mapping-it-into-3d-space/
http://code.google.com/p/quake2-gwt-port/

Allerdings hat der berechtigte Hype um HTML5 auch Nachteile – wenn 80% aller Multimedialen Webinhalte mit Flash umgesetzt wurden, dann wird es noch einige Zeit dauern, bis Flash ganz von der Bildfläche verschwindet — und es wird demnach eben auch noch einige Zeit dauern, bis man z.B. das iPad vollumfänglich im Web nutzen kann.

Andererseits würde Flash auf dem iPhone/iPad dafür sorgen, dass die “HTML5-Revolution” dann doch genauso schleicht wie IPv6..

Flash VS. Marc

Flash hat mir die letzte Woche wahrlich den Nerv geraubt. Und ich hoffe, ich muss mich das nächste mal nicht mit schon vorhandenen (AS2)- Quellen rumschlagen.
Mittlerweile habe ich Workarounds gefunden, trotzdem sind die eigentlichen Probleme noch nicht gelöst, weswegen ich diese nun kurz skizzieren möchte:

1. Codepage-Problem bei Bearbeitung von Win-FLA’s unter OSX
Ich habe eine unter Win erstellte FLA zur Nachbearbeitung erhalten.
Darin enthalten sind auch dynamische Textfelder mit eingebetteter Schrift (überall wurde ‘Helvetica Neue’ verwendet).
Meine Aufgabe war, das Flash mit rumänischen Übersetzungen zu versehen. Die festen Texte konnte ich durch Copy&Paste einfach ersetzen – bei den dynamischen Einträgen allerdings werden die Zentraleuropäischen Sonderzeichen (z.B. ţ und ă ) nur als Kästchen dargestellt.
Die anfänglichen Verdächte nach falscher Konvertierung (utf8/ iso-mix) oder aber vergessener Einbettung der zusätzlichen Glyphen haben sich nicht bestätigt.

Ich habe zum Überprüfen ein Testflash mit Dynamic-Feld angelegt und als Basis-Aktion

label1.text = "AB: \u0163 Selectează o ţară";

benutzt. Hier gab es keinerlei Probleme. Auch ein Ändern der Schriftart bewirkte Kästchen bei dem einen und saubere Zeichen bei dem anderen Flash.
Nur Helvetica (nicht Helvetica Neue) hat die Zeichen in beiden Filmen sauber dargestellt.

Meine Vermutung ist nun, dass Windows eine falsche Codepage oder eine falsche 2-Byte-Zuordnung der Sonderzeichen in den Tiefen einer FLA speichert – und OSX diese versucht, weiterzuverwenden.

Falls hier jemand eine Lösung kennt: Bitte melden!!

onRelease-Callback-Funktionen mit aus einer separaten Klasse heraus
Das zweite Problem ist sehr ActionScript-Lastig.
Ich möchte über eine separat eingebundene Klasse einem Button ein spezifisches Link-Verhalten geben. Ins besondere möchte ich das Frame-Target (also z.B. _blank oder _self) verändern und den Link dann nach einem Klick öffnen. Die Besonderheit ist hierbei, dass ich eine dynamische onRelease-Funktion schreibe und einen Inner-Class-Methodenaufruf durchführe. Dieser wird allerdings nicht ausgeführt und es hinterlässt auch keinerlei Fehlermeldung.

Das Script sieht so aus:

class scripts.classes.TestClass {

private var __target:String;

public function TestClass(){
trace("init TestClass");

}

public function returnTarget():String
{
if (__target == undefined) __target = "_self";
trace("__target => " + __target);
return __target;
}

public function createLink():Void
{

_root["link"].txt.text = "hello";
_root["link"].link = "http://www.google.de";
_root["link"].onRelease = function(){
var target = returnTarget();
trace ("target => " + target);
getUrl(this.link, target);
}

}
}

Die createLink() Methode ist der Problembereich. In der OnRelease-Callback-Funktion wird die Methode returnTarget() dem Link auf _root zugeordnet. Dieser kennt offensichtlich die Instanz nicht. Anstatt hier einen Fehler auszuspucken arbeitet er mit einem undefinierten String weiter.

Nun meine Frage: welche Möglichkeiten gibt es, dieses Script trotzdem noch zum Funktionieren zu bringen?

Import/ Include-Unterschiede zw. CS3 und CS4?

WARUM bekomm ich einen Compiler-Fehler in CS3, welcher behauptet, die Dateien sowohl von import als auch von #include wären nicht vorhanden, obwohl sie im relativen Pfad existieren?

Und interessanter: Warum funktioniert alles reibungslos in CS4?

Update:

Es lag nicht an CS4 — auf anderen Rechnern funktionierte es (die hatten CS4 installiert) — und bei mir funktionierte es nach einer CS4-Installation nicht mehr.

Nach nun knapp 6 Stunden  CS3-Neuinstallationen, Fehlersuche, Gespräche mit mehreren Leuten – auch hier im Büro – habe ich den Fehler schlussendlich gefunden.

Einer meiner Verzeichnisnamen hatte ein Doppel-Slash ( // ) im Namen, was Adobe Flash un-encodiert (also nicht \/\/ oder \:\: ) verwendet und dann denkt, es sei ein weiterer Verzeichnis-Trenner.

Also definitiv ein Adobe-Bug.
Dazu gibt’s nun Böhse Onkelz – Wieder mal ‘nen Tag verschenkt.
Ich kann heute endlich anfangen zu arbeiten…