Einzelnen Beitrag anzeigen

Benutzerbild von Pr0g
Pr0g

Registriert seit: 21. Mai 2004
809 Beiträge
 
Delphi 7 Personal
 
#6

Re: Eigene Flash-Templates modifizieren und anzeigen

  Alt 5. Mär 2005, 15:25
Ja, es geht um die Swf Datei. Die Fla Datei wird nur im Flashprgramm beim Erstellen genutzt, ist also so wie die Dpr/Pas/Dfm Datei zusammen in Delphi.

Also Text habe ich noch nicht geändert und ich kenne mich mit ActionScript auch nur en klein bisschen aus. Aber ich denke da wirst du in anderen Foren bestimmt fündig. Nun zum System mit der Farbe, wie ich es in dem Farbdesigner gemacht habe. Die Flashvideos nutzen zwei Frames (eigentlich drei, aber der dritte wird nicht genutzt). Der erste Frame ist das normale Bild, so wie man es später sieht und der zweite Frame enthält folgenden ActionScript Code, den ich später erkläre:
Code:
Colors = strColors.split(',');

for (i = 0; i < Colors.length; i++)
{
if (Colors[i] != "")
Objects[i].setRGB(Colors[i]);
}

stop();
Beim Ändern der Farben wird nun u.a. folgender Code in Delphi aufgerufen:
Code:
FlashPreview.SetVariable('strColors', FlashVar);
FlashPreview.TCallFrame('_root', 1);
Die erste Zeile füllt die Variable "strColors" in der Flashdatei mit dem Wert aus "FlashVar". "FlashVar" wurde vorher in Delphi mit mehreren Farbwerten gefüllt, die mit Kommma getrennt sind. Die zweite Zeile ruft den zweiten Frame auf (ohne dass dieser angezeigt wird, also nur das ActionScript wird ausgeführt). Nun zum AS Code in der Flashdatei in Frame #2. In der ersten Zeile wird die Variable "strColors" anhand der Kommas getrennt und ein Array "Colors" mit den einzelnen Farbwerten erzeugt. Danach wird in einer Schleife mit "Objects" auf die einzelnen Objekte zugegriffen und die Farbe geändert. (Die Objektreihenfolge wurde vorher ermittelt und die Farben werden in der richtigen Reihenfolge von Delphi zusammengepackt).

Was mit jetzt einfällt, die ganzen Objekte und auch Texte sind nun keine Texte in dem Sinne mehr, sonder normale Objekte (hört sich komisch an). Daher weiß ich nicht, ob du noch den Textwert änder kannst, aber wie gesagt, ich habe mich damit noch nicht befasst, da es mir nur um die Farben ging.
  Mit Zitat antworten Zitat