am77.de

Grafik Design, Interaktive Gestaltung, Spiele, Motion Graphics

Archive for the ‘Flash/ActionScript’ Category

AS3 xml node by attribute

leave a comment

So erhält man in AS3 eine XMLList aller XML nodes, deren Atribut einem bestimmten Wert entspricht:


var xml:XML = <Root>
<Names>
<Name type="M" value="John Doe" />
<Name type="F" value="Jane Doe" />
<Name type="M" value="John Hancock" />
</Names>
<Other />
</Root>

var xnList:XMLList = xml.Names.Name.(@type == “M”);

 

Written by am

March 2nd, 2013 at 9:40 am

JavaScript aus Flash AS3

leave a comment

Mit AS3 kann man aus dem swf heraus JavaScript-Code ausführen. Man kann auch die komplette JS-Funktion selbst bestimmen. Kleines Beispiel, um die komplette Url-Adresse aus der Browserleiste auszulesen:

var href:String = ExternalInterface.call(“function(){return location.href;}”)

Written by am

February 29th, 2012 at 1:53 pm

Posted in Flash/ActionScript

Tagged with , ,

Richtige Flex SDK für Flashplayer Version verwenden

leave a comment

Irgendwie logisch, aber man kann es mal vergessen …
Hatte heute ein Problem mit der folgenden Fehlermeldung im FP 10.0.

VerifyError: Error #1053: Unzulässiges Außerkraftsetzen von z in mx.core.BitmapAsset.
VerifyError: Error #1053 Illegal override of z in mx.core.BitmapAsset.

Woran lags?
Ich hatte die Flex SDK 4.1 benutzt um für Flashplayer 10.0 zu kompilieren.
Natürlich muss man aber die ältere Flex SDK 4.0A verwenden, damit es mit FP 10.0 und nicht erst mit FP 10.1 läuft.

Written by am

December 1st, 2011 at 12:21 pm

AS3 gradient fill snippet

leave a comment

So geht ein Farbverlauf in Actionscript 3


var spr:Sprite= new Sprite();
var matr:Matrix = new Matrix();
matr.createGradientBox( 200, 20, 0, 0, 0 );
spr.graphics.beginGradientFill( GradientType.RADIAL, [0x00ffff, 0xff0000], [1,1], [ 0, 255 ], matr, SpreadMethod.PAD );

Written by am

November 24th, 2011 at 6:26 pm

Flashdevelop Installation

leave a comment

Flashdevelop ist eine sehr feine und außerdem auch noch kostenlose Entwicklungsumgebung für Flash und Flex.

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:

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

Ruckelige Animation in Flash mit TweenLite ImageLoader

leave a comment

Flash hat einen Bug(?), der pixelsnapping immer aktiviert, wenn scaleX und scaleY == 1 sind.
Sieht bei langsamen Bewegungen extrem doof aus.

deswegen einfach scaleX = 1.001 und die Animation ist supersmooth!

Aus der Greensock-Doku:
Jerky animation? If you animate the image after loading it and you notice that the movement
* is rather jerky, try setting the scaleX and/or scaleY to something other than 1, like 1.001 because there is
* a bug in Flash that forces Bitmaps to always act like their pixelSnapping is "auto"
* when their scaleX/scaleY are 1.

Written by am

July 14th, 2011 at 9:34 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 Differenz zwischen zwei Date-Objekten

leave a comment

Um in AS3 die Differenz zwischen zwei Date-Objekten zu berechnen, addiert/subtrahiert man deren Millisekunden-Timestamp seit Beginn der Unix-Epoche (Januar 1 1970 00:00:00 GMT) (aufrufbar mit Date.time) und erstellt aus dem Ergebnis ein neues Date-Objekt.


var d1:Date = new Date(0, 0, 0, 0, 0, 20, 19);
var d2:Date = new Date(0, 0, 0, 0, 0, 1, 12);
var d3:Date = new Date(d1.time - d2.time);

trace( d3.seconds, d3.milliseconds); //Differenz in Sekunden und Millisekunden

Written by am

February 22nd, 2011 at 3:07 pm

Posted in Flash/ActionScript,snippets

Tagged with , , ,

Flash Debugging mit FBTracer

leave a comment

Für das debuggen in Live-Umgebung ist FBTracer wirklich super.

Es arbeitet mit Firebug zusammen, wo ein neues Tab “Flashtracer” erstellt wird, wo man alle trace-Ausgaben des swf´s direkt im Browser verfolgen kann.

Prädikat: Sehr praktisch!

Written by am

February 19th, 2011 at 1:04 pm

Posted in Flash/ActionScript,Tipp

Tagged with , , ,