am77.de

Grafik Design, Interaktive Gestaltung, Spiele, Motion Graphics

Archive for the ‘Flash/ActionScript’ Category

Flashdevelop Preloader

leave a comment

Damit der Flashdevelop Preloader funktioniert, muss man unter
– Project Properties -> Compiler Options -> Additional Compiler Options
die Main-Klasse auf den zweiten Frame legen, mit “-frame main Main01″, wobei Main01 der Klassenname der Main ist

Dann funktioniert die Preloader.as erst wirklich.

Hier erklärt Philippe das im zweiten Post:

http://www.flashdevelop.org/community/viewtopic.php?f=13&t=3365

Written by am

February 26th, 2014 at 4:41 pm

Posted in Flash/ActionScript

Flashdevelop jvm.dll Fehler

leave a comment

Hatte diese Fehlermeldung in Flashdevelop:

---
Build succeeded
Done(0)
Debugger startup error: System.TypeInitializationException: The type initializer for 'net.sf.jni4net.jni.JNI' threw an exception. ---> System.DllNotFoundException: Unable to load DLL 'jvm.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
at net.sf.jni4net.jni.JNI.Dll.JNI_GetDefaultJavaVMInitArgs(JavaVMInitArgs* args)
at net.sf.jni4net.jni.JNI.Init()
at net.sf.jni4net.jni.JNI..cctor()
--- End of inner exception stack trace ---
at net.sf.jni4net.jni.JNI.CreateJavaVM(JavaVM& jvm, JNIEnv& env, Boolean attachIfExists, String[] options)
at net.sf.jni4net.Bridge.CreateJVM()
at net.sf.jni4net.Bridge.CreateJVM(BridgeSetup setup)
at FlashDebugger.DebuggerManager.Start()
[Capturing traces with FDB]
---

– bei mir half (nehme ich an), die ‘msvcr71.dll’ (aus z.b. ‘Java\jre6\bin’) in C:\Windows\SysWOW64 zu kopieren, man kann auch C:\Windows\System32 probieren. Auf Win7 64bit macht aber wohl SysWOW64 mehr Sinn
– FÜr Flashdevelop sollte man immer die 32bit-Version von Java 1.6 verwenden, weil die Flex SDK wohl nur mit dieser kompatibel ist (Java SE Runtime Environment 6u45 von http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html#jre-6u45-oth-JPR)
Also gegebenenfalls Java 1.7 deinstallieren und 1.6 (was 6 entspricht?!) installieren
– man sollte den JAVA_HOME Path setzen (http://stackoverflow.com/questions/2619584/how-to-set-java-home-on-windows-7)

Das seltsame ist, dass FD auf einmal diesen Fehler bringt. Bzw. zuerst hat es gar nicht mehr kompiliert, nachdem ich dann von Java 1.7 auf 1.6 gewechselt habe, ging der Debugger nicht mehr.

Viel Erfolg beim reparieren!

Written by am

December 17th, 2013 at 11:59 am

Posted in Flash/ActionScript

Tagged with

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