FLAshot

Icon

Adobe Flash, AIR &
Flex related news

Nummer in Zeit konvertieren; Class

Marcel von VogtMitVogt hat daraus noch schnell ne Klasse programmiert!
So macht blogen spass! Merci!!!

// usage
/*
convert = TimeFormater.convert(4000);
trace(convert)
*/

class TimeFormater extends Math
{
static var symbolName:String = “TimeFormater”;
static var symbolOwner:Object = TimeFormater;
public var className:String = “TimeFormater”;

static function convert(val:Number):String
{
// Stunden
var hr = Math.floor(val/3600);
val = val-(hr*3600);
hr = hr<10 ? "0"+hr : hr;

// Minuten
var min:Number = Math.floor(val/60);
val = val-(min*60);
min = min<10 ? "0"+min : min;

// Sekunden
var sec:Number = val%60;
sec = sec<10 ? "0"+sec : sec;

// Rückgabewert
return hr+”:”+min+”:”+sec;
}
}

Nummer in Zeit konvertieren

Wir hatten hier bei dCTRL gerade das Problem, dass wir für einen FLA-Player die Länge des Videos in Form einer Zahl (zb 4000) in eine Zeitangabe im Stil von 00:00:00 umkonvertieren mussten. Nach zahlreichen versuchen, haben wir mit der AS Methode Math.floor eine einfache Lösung entwickelt, die ich Euch nicht vorenthalten will:

function convert(value:Number):String {
// Stunden
hr = Math.floor(value/3600);
value = value-(hr*3600);
hr = hr<10 ? "0"+hr : hr;

// Minuten
var min:Number = Math.floor(value/60);
value = value-(min*60);
min = min<10 ? "0"+min : min;

// Sekunden
var sec:Number = value%60;
sec = sec<10 ? "0"+sec : sec;

// Rückgabewert
return zeit=hr+”:”+min+”:”+sec;
}
trace(convert(4000));

Das entsprechende FLA-File könnt ihr hier downloaden!

ActionScript 2.0 Primer

Kurz zwei Links für “Anfänger” und “fortgeschrittene” AS-Programmierer. Wer immer noch in AS 1.0 programmiert, und das scheint mir hier in der Schweiz noch der grösste Teil zu sein, sollte sich doch unbedingt mal den von Markus Pfeisinger (übrigens aus Basel!) in’s deutsche übersetzte ActionScript 2.0 Primer ansehen. Auf wenigen Seiten findet sich hier leicht verständlich “alles” erklärt!



Wer das ganze dann mal inkl. Klassen- und OO-Programmierung begriffen hat, dem sei die as2lib ans Herz gelegt. Die ActionScript 2.0 Library ist ein opensource Framework und stellt zu allen erdenklichen Problemen AS-Klassen bereit.

Flash OpenSource 3d Engine

Wie mir Bernd von informatika-nova mitteilt, hat er seine OpenSource 3d Engine für Flash überarbeitet. Wir berichteten bereits vor einigen Wochen über sein Projekt.


Wer sich das ganze mal in Aktion anschauen will, der findet hier das entsprechende Beispiel!


Hut ab Bernd!!!

Fonteinbindung in Flash 2004

Es kann und ist nicht das Ziel von FLAshot, hier nun eine grossartige ActionScript-Sammlung aufzubauen, denn hierfür gibt es genug Flash-Portale die dies bereits machen und auch besser können. Trotzallem werden wir von Zeit zu Zeit einige Scripts und Lösungen aus unserer täglichen Arbeit bei dCTRL, zur Information und Diskussion, aufschalten.

Den Anfang machen wir hier mit einem kurzen Script/Tutorial zum Thema Fonteinbindung über die Klassen TextField und TextFornat in Flash 2004. Wie so oft ist das ganze gar nicht so kompliziert, wenn man es einmal begriffen hat.

Gerade in der OOP Programmierung kann es von Vorteil sein Fonts und deren Attribute dynamisch einzubinden. Will man z.B. den Font nachträglich ändern, so muss man nicht X-Textfelder durchgehen und die Änderungen manuel vornehmen, sondern kann an einer Stelle im Script den Fontstyle für den gesamten Movie ändern.

Es finden sich im ActionScript Lexikon von Macromedia Flash zwar zahlreiche Infos zum Thema TextFormat, doch nirgends ein Hinweis dazu, dass der Font über die Bibliothek eingebunden werden muss (?), damit das ganze klappt. Weil mit einem Standard-TextFormat-Objekt mit der Eigenschaften font = "Times New Roman" hat das bei uns nie geklappt!

Für alle mit dem gleichen Problem, hier nun also unsere Lösung:

1. Öffne ein neues Flash Dokument
2. Öffne die Bibliothek (Menu Fenster/Bibliothek) und speichere einen neuen Font (klick auf den Button oben rechts, neue Schriftart)
3. Wähle, in dem sich öffnenden Fenster, den Font den du benutzen willst, gib ihm einen sinnvollen Namen und klicke OK
4. Wähle in der Bibliothek das neu erstellte Font-Symbol aus, klicke es mit der rechten Maustaste (PC) oder ctrl-Mausklick (Mac) und wähle "Verknüpfung…" aus
5. In dem sich öffnenden Fenster der "Verknüpfungseigenschaften" gebe einen Bezeichner ein, z.B. "meinFont" (über diesen wird das Font Symbol später angesprochen…), wähle "Export für ActionScript" aus und drücke OK.
6. Wieder zurück auf der Bühne wähle den ersten Frame der "Ebene 1" aus, öffne das ActionScript Fenster (F9) und gebe folgenden Code ein:

// Dynamisch erzeugtes Textfeld
// (Instanzname, Tiefe, x, y, Breite, Höhe)
_root.createTextField("mein_txt", 0, 50, 50, 450, 100);

// Eigenschaften der Textfield Klasse
// Hier sind natürlich noch eine Menge anderer
// Eigenschaften möglich
mein_txt._quality("BEST");
mein_txt.multiline = true;
mein_txt.selectable = false;
mein_txt.wordWrap = true;
mein_txt.embedFonts = true;

// Textfeld Text
mein_txt.text = "Das ist mein Text";

// Neue TextFormat Klasse definieren
// damit die Formatierungen auf das TextFeld
// angewand werden
mein_fmt = new TextFormat();

// Dem TextFormat unseren Symbol Font Identifier
// zuweisen. Auch hier sind natürlich
// zahlreiche weitere Parameter möglich
mein_fmt.font = "meinFont";
mein_fmt.size = 28;
mein_fmt.color = "0×999999";

// Dem TextFeld die Formatierung zuweisen
mein_txt.setTextFormat(mein_fmt);


So und das wärs auch schon. Viel Spass beim ausprobieren!

Dates

FLAshot ist der erste Schweizer Adobe Flash Blog und wird herausgegeben durch dctrl™ — interactive media gmbh. Unser Ziel ist es, alle an der Entwicklung von interaktiven Medien und RIA interessierten Besucher über neuste Trends, Codes und Links zu informieren.

Kontakt:

Upcoming Events

More »