Tag: flash

201130Jun

SWF Protector: ActionScript-Code verschlüsseln

Kompilierte Flash-Projekte, die als fertige SWF-Dateien vorliegen, bringen Vor- und Nachteile mit sich. Je nach Ansichtsweise stellt die Charakteristik eines geschlossenen und proprietären Container-Formats einen Vorteil dar, da die darin befindlichen Elemente auf den ersten Blick vor unerwünschtem Zugriff geschützt sind. Zu diesen Elementen zählen Grafiken, Sound- und Video-Dateien und natürlich der eigentliche Quelltext, der in ActionScript vorliegt. Durch die heutigen Möglichkeiten der Dekompilierung lassen sich die Ressourcen einer SWF-Datei relativ einfach wieder extrahieren und auslesen: Bei komplexeren und kostspieligen Projekten ist es nicht unbedingt gewünscht, dass dieser Fall eintritt.
Während sich die Media-Ressourcen von SWF-Dateien nicht vor dem Extrahieren durch spezielle Programme schützen lassen, gibt es zumindest für den Schutz von ActionScript-Code verschiedene Tools, die den Quelltext durch Algorithmen verschlüsseln und unkenntlich machen (Obfuscation). Eine Anwendung dieser Art, die ich nun einmal getestet habe, wäre der SWF Protector von Dcomsoft.

SWF Protector

Die Oberfläche der Software ist denkbar einfach zu bedienen und erlaubt es, gleich mehrere SWF-Dateien zu verschlüsseln. Im "Advanced mode" können dann auch selektive Verschlüsselungen vorgenommen werden: Während für ActionScript 1 und 2 die Methoden "Mix script" und "Mask script" zur Verfügung stehen, kann ActionScript 3-Code über Obfuscate-Algorithmen verschlüsselt werden.

Weiterlesen...
Tags: ,
201128Jun

Google Swiffy: SWF-Dateien in HTML5 konvertieren

Die Entwicklung von und rund um Adobe Flash durchläuft interessante Prozesse: Während Adobe mit Wallaby ein Tool veröffentlicht hat, mit dem sich FLA-Quelldateien in HTML-Code umwandeln lassen, steuert Google nun mit Swiffy ein Werkzeug zur SWF-zu-HTML5-Konvertierung bei. Der Vorgang der Umwandlung erscheint schon fast etwas unheimlich, denn aus den SWF-Dateien wird ein komplexer JSON-Array erzeugt, der dann von der Swiffy-Bibliothek verarbeitet wird. Die eigentliche Logik wird wieder durch JavaScript repräsentiert. Hinsichtlich der Programmierung wird aktuell eine Schnittmenge von SWF 8 und ActionScript 2 unterstützt. Laut Google erhält man daher mit Flash 5 die besten Resultate. Voraussetzung für die umgewandelten Flash-Projekte ist ein WebKit-Browser (natürlich funktionieren die Swiffy-Demos auch unter Firefox).

Google Swiffy

Jetzt lässt sich nicht unbedingt jedes Flash-Game direkt in HTML5 umwandeln, aber die Beispiele zeigen schon sehr gut, was mit dem Google-Tool möglich ist. So werden durchaus ActionScript-Blöcke korrekt interpretiert und sollte eine Prozedur nicht konvertiert werden können, schlägt Swiffy Alarm und gibt eine Fehlermeldung aus.
Ein derartiges Projekt existierte bisher nur mit Gordon, einer Bibliothek, die ebenfalls durch SVG Flash-Anwendungen per JavaScript darstellt. Google schreibt in den FAQ von Swiffy übrigens auch, dass man mit Adobe in dieser Richtung weiter zusammenarbeiten möchte. Man darf also gespannt sein.

201030Nov

FluidSolver: Echtzeit-Simulation von Flüssigkeit

Immer wieder beeindruckend finde ich Partikel-Simulationen oder physikalische Effekte, die mit JavaScript oder Flash realisiert werden. Wer sich für dynamische Echtzeit-Simulationen von Flüssigkeiten interessiert, sollte sich FluidSolver ansehen. Die AS3-Klasse von Eugene Zatepyakin stellt eine Portierung der MSAFluid-Bibliothek für Processing dar. Mit ofxMSAFluid steht auch eine Variante für openFrameworks bereit.

FluidSolver

Die Partikel bei FluidSolver werden ohne Hilfe von Pixel Bender oder Alchemy dargestellt und können durch verschiedene Parameter in ihrer Darstellung angepasst werden. Die eigentliche Simulation wird durch Mausbewegungen vorangetrieben und erzeugt neben Partikeln auch variierende Farbabstufungen.
Die AS3-Klasse steht bei Google Code zum Download bereit. Auch die openFrameworks-Version "ofxMSAFluid" von Mehmet Akten bietet interessante Resultate.

ofxMSAFluid for openFrameworks

Weitere interessante Flash-Experimente finden sich im Blog von Eugene.

201027Apr

Flash, JavaScript und HTML5: Gegenwart und Zukunft

Die Diskussion um Flash und dessen Einsatzgebiete dürfte unter Webentwicklern oft ein Streitpunkt darstellen. In der Regel findet der Dialog zwischen Flash-Evangelisten und Web-Standard-Veteranen statt — die Frage nach der Verwendung von Flash wird dementsprechend bewertet. Mit HTML5 werden sich in ferner Zukunft in diesem Bereich sicherlich einige Veränderungen zeigen. Man sollte HTML und Flash jedoch nicht als Konkurrenz, sondern als gegenseitige Ergänzung ansehen. Da ich Web-Projekte sowohl mit HTML/CSS als auch mit Flash realisiere, will ich den aktuellen Stand der Techniken beleuchten.

ROXIK temporaries - AS3.0 Performance Demo

Zum einen stellen der Open Source-Gedanke und offene Standards wichtige Aspekte dar. Das Flash-Format ist proprietäre Closed Source-Software und wird dadurch als Holperstein im Bezug auf Web-Standards angesehen. Wie offen Flash im Vergleich zu HTML5 ist, wird zum einen in diesem Artikel/ beschrieben. Über diese Thematik gibt es im Netz mittlerweile etliche Diskussionen und Vorschläge. Zum aktuellen Zeitpunkt besteht die Tatsache, dass sich das Flash-Plugin auf nahezu jedem Computer mit Internetzugang befindet und Microsofts Trident-Engine noch mit über 50% am Browsermarkt vertreten ist. Wie sich diese Zahlen in der kommenden Zeit verändern werden, dürfte durch die Verbreitung von HTML5/CSS3 und modernen Webbrowsern ersichtlich sein.

Weiterlesen...
201019Mär

Flash: Tipps zur Optimierung von ActionScript 3

Zum Freitag gibt es heute einen Link-Tipp für Flash-Entwickler: Kuba Gaj hat auf seinem Blog kürzlich einen sehr schönen Artikel über die Optimierung von AS3-Code veröffentlicht, in dem er generelle Tipps für einen guten Stil gibt. Dazu zählen verschiedene Themen wie Objekte, Arrays, Klassen oder allgemeine Hinweise. Die Anleitung wurde unter dem Aspekt erstellt, die Performance von Flash-Projekten zu verbessern. Flash-Anwendungen können schnell viele Ressourcen verschlingen und durch eine unbedachte Programmierung kann es dazu führen, dass Spiele oder andere Anwendungen auch auf modernen Computersystemen langsam ablaufen.

massiveProCreation Blog - Optimizing Your ActionScript Code

So sollte stets darauf geachtet werden, dass keine unnötigen "enterFrame"-Events oder Timer laufen. ActionScript 3 ist in vielen Aspekten besser und durchdachter als Version 2. Der Umstieg empfiehlt sich in jeder Hinsicht, auch wenn manche Funktionen mit AS3 etwas mehr Code benötigen als in AS2. Für Umsteiger empfehle ich das ActionScript 3 Migration Cookbook und auch die Coding Conventions von Adobe sind lesenswert.

201018Mär

Flash: Notepad++ als Code-Editor benutzen

Beim Entwickeln von Flash-Anwendungen kann es von Vorteil sein, wenn der favorisierte Code-Editor für ActionScript genutzt werden kann. Der Editor von Adobe Flash Professional bietet seit Version 9 (CS3) nützliche Funktionen wie beispielsweise die "Zusammenfassen"-Funktion — durch einen Klick wird markierter Code in einer Zeile zusammengefasst und kann per "+" wieder ausgeklappt werden. Dadurch behält man auch bei größeren Projekten den Überblick.
Dennoch bietet der eingebaute Editor der Flash-Entwicklungsumgebung nicht alle Funktionalitäten, die ein moderner Code-Editor beinhaltet. Der "SEPY Actionscript Editor" stellt in jedem Fall eine empfehlenswerte Alternative für komplexere Flash-Applikationen dar. Wer die Shortcuts und Funktionalitäten von Notepad++ auch in ActionScript nicht missen möchte, kann den beliebten Editor einfach verwenden. Die Syntax-Hervorhebung für ActionScript ist bereits integriert. Eine wichtige Funktionalität ist allerdings nicht vorhanden: Das Kompilieren des geöffneten Flash-Projekts. Dieser Vorgang wird in der Flash-IDE durch STRG + RETURN durchgeführt ("Film testen"). Mit einem Trick lässt sich auch diese Funktion in Notepad++ nutzen.

Adobe Flash CS3

Adobe Flash unterstützt JSFL-Skripts (JavaScript Flash), durch die eigene Befehle in der Entwicklungsumgebung ausgeführt werden können. In Flash kann diese Möglichkeit unter Anderem über das Menü "Befehle" verwendet werden. Mehr dazu in den Adobe LiveDocs. Zudem kann der Flash-Umgebung als Parameter ein JSFL-Skript übergeben werden, durch das so auch die "Film testen"-Funktion in Notepad++ eingebaut werden kann.

Weiterlesen...
201019Feb

TuneGlue: Ähnliche Künslter grafisch darstellen

Zum Freitag gibt es diesmal etwas Musikalisches: Amazon und Last.fm haben eine interaktive Flash-Anwendung ins Leben gerufen, mit der es möglich ist, Verknüpfungen zwischen Musikern und Bands auf einer Karte (Music Map) darzustellen. Das Projekt nennt sich TuneGlue und funktioniert sehr gut. Die Daten werden durch die "Ähnliche Künstler"-Funktion von Last.fm grafisch dargestellt. Nach der Eingabe des gewünschten Künstlers kann per Optionsmenü der erste Knotenpunkt erweitert werden. Daraufhin werden verwandte oder musikalisch ähnliche Künstler als weitere Knotenpunkte dargestellt. Mit dieser Methode können sehr tiefe Verzweigungen dargestellt werden.

TuneGlue

Weiterhin ist es möglich, die veröffentlichten Alben der Künstler anzuzeigen. Dabei werden Informationen aus der Amazon-Datenbank abgerufen. Zudem können die physikalischen Animationen in ihrer Spannung (Friction) und Elastizität (Elasticity) angepasst werden.
Das Projekt wurde von den Flash-Altmeistern bei Onyro umgesetzt.

201008Feb

Adobe Open Source: Viele Frameworks für Entwickler

Dynamische und interaktive Online- oder Offline-Anwendungen lassen sich mit der Werkzeugpalette von Adobe sehr gut realisieren. Wer Flash-, Flex- oder AIR-Projekte umsetzt und bestimmte Komponenten oder Funktionen benötigt, sollte sich die Seite "Adobe Open Source" ansehen. Dort finden sich diverse Open Source-Frameworks, die inklusive Dokumentationen zur Verfügung gestellt werden. Dabei handelt es sich hauptsächlich um ActionScript-Bibliotheken, die viele nützliche Funktionalitäten mit sich bringen.

Adobe Open Source

Die Bibliothek "AS3CoreLib" beinhaltet beispielsweise Algorithmen zur Verschlüsselung (MD5, SHA-1), Bildkodierung oder JSON-Verarbeitung. Das "Text Layout Framework" bietet umfangreiche Möglichkeiten zur Ausrichtung und Transformation von Textblöcken. Auch das Tamarin-Projekt von Mozilla verspricht, interessant zu werden.
ActionScript-Entwickler sollten die Seite also genau wie Adobe Labs im Auge behalten, da hier in regelmäßigen Abständen Updates erfolgen.