[Flash CS5, AS 3.0] Zmienne Flashvars
: sob lut 26, 2011 12:54 pm
Witam na wstępie wszystkich flashowców.
Otóż mój problem dotyczy zmiennych Flashvars przekazywanych do pliku swf. Robię baner i do niego przekazuję takie zmienne jak "font", "wielkosc", "align" i "tresc", które są odpowiedzialne za formatowanie tekstu. W treści wpisuję jakiś dowcip i używam tagów <br>, żeby wiersze zaczynały się od nowej linii jeden pod drugim. W kodzie HTML mam taki kod:
natomiast we Flashu użyłem pola tekstowego nadałem mu nazwę instancji "tfText" i przypisałem taki kod w AS 3.0:
No i tekst wyświetla się ładnie jeden wiersz jeden pod drugim, ale nie formatują się w tekście zmienne "font" i "wielkosc". Jak temu zapobiec? Gdy zmienię dolną część kodu, że zamiast tego:
zmienię na:
to zmienne wczytują się wszystkie, ale ciągle jest problem z wierszami od nowej linii. Jak zrobić, żeby jednocześnie działały wszystkie zmienne i tagi <br>? Z góry dziękuję za pomoc. Przypominam, że nie jestem taki ogarnięty w kodzie AS 3.0
Pozdrawiam!
Otóż mój problem dotyczy zmiennych Flashvars przekazywanych do pliku swf. Robię baner i do niego przekazuję takie zmienne jak "font", "wielkosc", "align" i "tresc", które są odpowiedzialne za formatowanie tekstu. W treści wpisuję jakiś dowcip i używam tagów <br>, żeby wiersze zaczynały się od nowej linii jeden pod drugim. W kodzie HTML mam taki kod:
Kod: Zaznacz cały
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.adobe.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="750" height="100" id="flashvars" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="flashvars.swf" />
<param name="FlashVars" value="tekst=Mówi mąż do żony:<br>- Idź po piwo.<br>- Ależ kochanie, może jakieś magiczne słowo?<br>- Hokus pokus, czary mary, wypie...aj po browary!&align=left&font=Arial Black&wielkosc=42" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<embed src="flashvars.swf" FlashVars="tekst=Mówi mąż do żony:<br>- Idź po piwo.<br>- Ależ kochanie, może jakieś magiczne słowo?<br>- Hokus pokus, czary mary, wypie...aj po browary!&align=left&font=Arial Black&wielkosc=42" quality="high" bgcolor="#ffffff" width="750" height="100" name="flashvars" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" />
</object>
Kod: Zaznacz cały
var flashVars : Object = stage.loaderInfo.parameters;
// Formatujemy nasze pole
var format : TextFormat = new TextFormat();
if (flashVars['font']) format.font = flashVars['font'];
if (flashVars['align']) format.align = flashVars['align'];
if (flashVars['wielkosc']) format.size = flashVars['wielkosc'];
//... i tu kolejne przepisania formatowania
// Tworzymy pole jeśli nie istnieje instancja o nazwie 'tfText'.
var tfText:TextField = this.getChildByName("tfText") as TextField;
if (tfText == null)
{
tfText = new TextField();
this.addChild(tfText);
}
// Przypisujemy format.
tfText.defaultTextFormat = format;
// Ladujemy tekst i ew. parametry pola
// Pamiętaj że wszystkie dane w flashVars są stringami, powinny być parsowane do liczb, choć może i będzie działać bez tego
if (flashVars['width']) tfText.width = parseInt(flashVars['width']);
if (flashVars['height']) tfText.height = parseInt(flashVars['height']);
if (flashVars['tekst']) tfText.htmlText = flashVars['tekst'];
Kod: Zaznacz cały
if (flashVars['tekst']) tfText.htmlText = flashVars['tekst'];Kod: Zaznacz cały
if (flashVars['tekst']) tfText.text = flashVars['tekst'];to zmienne wczytują się wszystkie, ale ciągle jest problem z wierszami od nowej linii. Jak zrobić, żeby jednocześnie działały wszystkie zmienne i tagi <br>? Z góry dziękuję za pomoc. Przypominam, że nie jestem taki ogarnięty w kodzie AS 3.0
Pozdrawiam!