Archiv: Februar 2010

MovieClip rotieren in Richtung eines Punktes

So kann ein MovieClip in Richtung eines Punktes. Das folgende Beispiel dreht ein MovieClip in Richtung des Mauszeigers.

var dx:Number = mausX - derMovieClip.x;
var dy:Number = mausY - derMovieClip.y;
derMovieClip.rotation = Math.atan2(dy, dx) * 180 / Math.PI;

Zu beachten ist, dass Math.atan2 den Wert in Radiant ausgibt und .rotation erwartet den Winkel in Grad.  Hier ist ein Beispiel, wie Radiant in Grad und umgekehrt umgerechnet wird.
Dreht einen MovieClip in Richtung der Maus.
Projektdateien

Distanz zwischen zwei Punkten berechnen

So berechnet man eine Distanz zwischen zwei Punkten. P1 (x1/y1) und P2 (x2/y2) könnten zum Beispiel Positionen der Maus und einem MovieClip sein.

var dx:Number = x2 - x1;
var dy:Number = y2 - y1;
var dis:Number = Math.sqrt(dx * dx + dy * dy);

Umrechnen Grad nach Radiant und Radiant nach Grad

So rechnet man Grad nach Radiant um:

radiant = grad * Math.PI / 180

Radiant nach Grad rechnet man folgendermaßen um:

grad = radiant * 180 / Math.PI

FlashDevelop und mit away3D Type Vector nicht gefunden

Wer den folgenden Fehler bekommt, sollte den Output auf Flashplayer 10 stellen

away3d\core\render\AbstractRenderSession.as(656): col: 102 Error: Typ wurde nicht gefunden oder war keine Kompilierungszeit-Konstante: Vector.
public function renderTriangleBitmapF10(bitmap:BitmapData, vertices:Vector., uvtData:Vector., smooth:Boolean, repeat:Boolean, layerGraphics:Graphics = null):void

Movieclip attachen aus externer Bibliothek

Es wird mit dem flash.display.Loader eine stone.swf geladen, um nun die Klassen in dieser SWF zu instanzieren, geht man folgender maßen vor:

var dynClass:Class =  loader.contentLoaderInfo.applicationDomain.getDefinition("meineVerknüpfung")  as Class;
var mc:MovieClip = new dynClass();

addChild(mc);

Bitmapdaten aus der Bibliothek anonym laden

Ich habe in meiner Bibliothek verschiedene Bitmapdaten verlinkt. Als Dokumentenklasse habe ich angegeben, dass es sich um ein flash.display.BitmapData handelt.

Jetzt möchte ich die Bitmapdaten aber nicht per Hand auf die Bühne holen, sondern über einer XML-Datie herbeizaubern.

Ich bekomme also aus der XML-Datei verschiedene Strings und wie bekomme ich nun eine BitmapData aus der Bibliothek?

Antwort:

var theClass:Class = getDefinitonByName(theXMLString) as Class;
var bmpData:BitmapData = new theClass(0, 0);

Wenn jetzt noch die Fehlermeldung “ReferenceError: Error #1065: Variable png ist nicht definiert….” erscheint, muss die SWD noch ordentlich eingebunden werden:

In Flash findet man die Option:
1. Datie->Einstellungen für Veröffentlichungen
2. Registrierkarte: Flash, irgendwo da ist SWD Exportieren

Dann in Flashdevelop:
Auf die SWD Rechtsklick und “Add To Library”. Danach dann noch mal Rechtsklick und dort auf “Options” gehen und in der Mitte “include library(include completely)” auswähle. Dann sollte es gehen.

FD3 + Adobe Flash CS4 Klassenpfad zu ActionScript 2.0.

Wer Adobe Flash CS4 und den FlashDevelop 3 Editor benutzt. Muss noch die Actionscript 2.0 Klassen einbinden, wie dies geht findet ihr bei Adobe:

ActionScript-Veröffentlichungseinstellungen