am77.de

Grafik Design, Interaktive Gestaltung, Spiele, Motion Graphics

Archive for the ‘Actionscript’ tag

Flashdevelop Installation

leave a comment

Flashdevelop ist eine sehr feine und außerdem auch noch kostenlose Entwicklungsumgebung für Flash (nicht mehr so hip) und aber auch Haxe (sehr interessant!)

Die Code Completion und Code Generation Features sparen viel Tipparbeit und der Outliner ermöglicht einen schnelle Überblick über Klassen. Das ist noch nicht alles … mehr Infos auf der offiziellen Website.

Für die Installation von Flashdevelop benötigt man:

Jetzt kann man unter Tools -> Install Software
installieren, was man braucht, Flex SDK, Git, Haxe etc.
Ich bin mir auch gar nicht sicher, ob man den Flash Player wirklich vorher schon installieren muss, hab es aber gemacht, weil ansonsten eine Warnung bei der FD Installation kommt.
So wie ich das sehe könnte man das jetzt auch noch über den AppMan (Install Software) installieren.development
Troubleshooting … sollte mit aktueller Installation nicht mehr nötig sein:
Unter Project -> Properties -> SDK muss der richtige Pfad zur SDK angelegt werden.
Wer wie ich unter Win7  x64 die Fehlermeldung “Unable to start java.exe” bekommt,
sollte die JAVA_HOME Umgebungsvariable ändern.
Viel Spass mit Flashdevelop!

Written by am

September 30th, 2011 at 7:07 am

AS3 Array Helferfunktionen shuffle, inArray

leave a comment

Leider fehlen der Array Funktion in AS3 manche sinnvolle Methoden, deswegen hier eine Klasse mit zwei Helferfunktionen, evtl. kommen noch mehr dazu.

package utils
{
/**
*
* am77.de
*/
public class ArrayUtils
{

public function ArrayUtils()
{

}

public static function shuffle(arr1:Array):Array {
var arr2:Array = [];
while (arr1.length > 0) {
arr2.push(arr1.splice(Math.round(Math.random() * (arr1.length - 1)), 1)[0]);

}
return arr2;

}

public static function inArray( needle:String, haystack:Array ):Boolean {
for( var a:int = 0; a < haystack.length; a++ ) { if( haystack[a] == needle ) { return true; }else if( haystack[a] is Array ) { return inArray(needle, haystack[a]); } } return false; } } }

Written by am

February 28th, 2011 at 1:01 pm

AS3 Font Unicode Range Generator

leave a comment

Um beim einbinden von Fonts in AS3 die Dateigröße des swf nicht unnötig aufzublasen, empfiehlt es sich, nur die wirklich benötigten Zeichen einzubinden.
Das ist per Angabe der unicodeRange möglich:

[Embed source="FONT_SOURCE", fontName="FONT_NAME", mimeType="application/x-font-truetype" unicodeRange = "U+0020-007E,U+00C4,U+00D6,U+00DC,U+00DF,U+00E1,U+00E4,U+00E8-00E9,U+00F6,U+00FC"]

Weil es recht mühselig sein kann, die ganzen “Uni-Codes” für die einzelnen Zeichen rauszusuchen, hab ich nach einem Tool gesucht und genau das richtige gefunden:

UnicodeRange Generator

Gibt´s übrigens auch zum Download

Written by am

February 26th, 2011 at 6:24 pm

AS3 Flashvars auslesen

leave a comment

Flashvars in AS3 auslesen

var params:Object = LoaderInfo(this.root.loaderInfo).parameters;
for (key in params) {
trace( String(params[key]) );
}

Written by am

February 8th, 2011 at 11:32 am

AS3 Flash Embed Stuff

leave a comment

Embed Stuff in Flashdevelop:

SWF
[Embed(source="library.swf", symbol="MyMc")]
protected const MyMc:Class;
[...]
var myMc:MovieClip = new MyMc();

FONT
[Embed(source = 'assets/LT_54856.ttf', fontName = "BasicCommercial LT Black", mimeType="application/x-font", embedAsCFF = "false")]
protected const fontBasicCommercial:Class;
[...]
var myFormat:TextFormat= new TextFormat();
myFormat.font = (new fontBasicCommercial() as Font).fontName;

BITMAP
[Embed(source="my_image.jpg")]
protected const MyImage:Class;
[...]
var img:Bitmap = new MyImage();

XML
[Embed(source="my_xml.xml", mimeType="text/xml")]
protected const MyXML:Class;
[...]
var x:XML = XML(new MyXML());

Written by am

November 17th, 2010 at 8:47 am

AS3 Stapelunterlauf Error

leave a comment

Seltsamer Fehler, der auftrat, wenn ich in Flashdevelop statt Debug im Release Modus kompiliert hab, was man ja am Ende normalerweise machen will.
Konnte den Fehler in keinster Weise nachvollziehen.
Hab dann irgendwo einen Hinweis gefunden, dass es was mit trace-Befehlen zu tun haben könnte.
Und tatsächlich, die traces auskommentiert und das Problem war behoben.

Written by am

September 7th, 2010 at 12:43 pm