Kultpower’s Flash-Actionscript-Weblog

31.Dezember 2007

TrueType-Font mit Actionscript in Flash einbinden

Gespeichert unter: Actionscript 3 — Schlagworte: , — kultpower @ 15:09

Ich habe im Web eine Möglichkeit entdeckt, wie man TTF-Font-Dateien per ActionScript einbetten kann. Diese Möglichkeit verwendet allerdings eine eigene Actionscript-Klasse und damit auch eine eigene SWF-Datei für den Font.

Ich brauchte hingegen eine Möglichkeit, in der einzigen verwendeten Actionscript-Klasse und damit direkt in der einzigen SWF-Datei einen Font einzubetten. Die Klasse FontTest zeigt, wie es geht. Über TextField.embedFonts=true kann man dadurch dann auch Ein- und Ausblenden mit dem Alpha-Wert des Textfeldes realisieren!

package {
	import flash.display.MovieClip;
	import flash.text.Font;
	import flash.text.TextField;
	import flash.text.TextFieldAutoSize;
	import flash.text.TextFormat;

	[SWF( backgroundColor='0x111111', frameRate='50', width='400', height='100')]

	public class FontTest extends MovieClip {

		[Embed(source='verdana.ttf', fontName='Verdana', fontWeight='normal', mimeType='application/x-font-truetype')]
		private var font1:Class;

		public function FontTest():void {
			Font.registerFont(font1);//registers font
			trace('registered font');

			var tf:TextField = new TextField();
			var tfo:TextFormat = new TextFormat('Verdana', 20,0xffffff);
			tf.defaultTextFormat = tfo;
			tf.autoSize=TextFieldAutoSize.LEFT;
			tf.embedFonts = true;
			tf.text = 'Text with embedded font';
			addChild(tf);
		}
	}
}

25.Dezember 2007

Welche Tasten sind gedrückt (gehalten) ?

Gespeichert unter: Actionscript 3 — Schlagworte: , — kultpower @ 14:48

Klar, ein einfacher Tastendruck ist in Actionscript einfach abzufangen. Wenn es aber darum geht, so etwas wie „Shift-rechts“ oder „CTRL-hoch“ zu erkennen, wird das schon schwieriger…

Sehr hilfreich ist hier die Klasse KeyObject von Flash-Experte Trevor McCauley (seine umfangreiche Flash-Webseite: senocular.com).
Damit wird z.B. die Abfrage „Shift ist gedrückt und Pfeiltaste nach rechts wird betätigt“ zum Kinderspiel:

var key:KeyObject = new KeyObject(stage);
if (key.isDown(Keyboard.SHIFT)) {
  if (evt.keyCode == Keyboard.RIGHT) {
    //Aktion durchführen
  }
}

DisplayObject bewege dich: mit Tweener

Gespeichert unter: Actionscript 3 — Schlagworte: , — kultpower @ 11:31

Dank der Klasse Tweener ist es supereinfach, jedes beliebige DisplayObject cool zu animieren – sei es eine Bewegung über die Koordinaten, oder ein schickes Ein- oder Ausblenden über die alpha-Eigenschaft. Das Ganze funktioniert mit allen numerischen Attributen jedes beliebigen Objektes!

object.alpha=0;
Tweener.addTween(object,{alpha:1,time:0.5,transition:"easeInOutCubic"});

Und was man damit so alles machen kann, zeigt das folgende Flash-Movie, dass aus der Actionscript-Klasse Tweener1.as erzeugt wurde:

Tweener1

Alle verfügbaren „Transition Types“ (Übergänge) findet ihr übrigens hier.

Bloggen Sie auf WordPress.com.