Strona 1 z 1

[Flash CS5, AS 3.0] Zmienne Flashvars

: sob lut 26, 2011 12:54 pm
autor: RadziuZET
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:

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>
natomiast we Flashu użyłem pola tekstowego nadałem mu nazwę instancji "tfText" i przypisałem taki kod w AS 3.0:

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'];
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:

Kod: Zaznacz cały

if (flashVars['tekst']) tfText.htmlText = flashVars['tekst'];
zmienię na:

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!

Re: [Flash CS5, AS 3.0] Zmienne Flashvars

: sob lut 26, 2011 2:33 pm
autor: Marek_bf

Kod: Zaznacz cały

tfText.multiline = true;

Re: [Flash CS5, AS 3.0] Zmienne Flashvars

: sob lut 26, 2011 3:03 pm
autor: RadziuZET
Nadal to nie rozwiązuje problemu. tfText nadal nie jest formatowany przez zmienne "wielkosc" i "font". Jakiś inny sposób? Po za tym mam włączona w polu tekstowym opcję Multiline.

Re: [Flash CS5, AS 3.0] Zmienne Flashvars

: sob lut 26, 2011 5:03 pm
autor: Marek_bf
Formatowanie jest dla poleTextField.tex=”” a nie poleTextField.htmlTex=””
Zamiast formatowania daj tagi HTML <font></font> dla tekstu i w nich określaj czcionkę albo jeszcze lepiej za pomocą CSS

Re: [Flash CS5, AS 3.0] Zmienne Flashvars

: sob lut 26, 2011 5:46 pm
autor: RadziuZET
Właśnie próbowałem takiego sposobu, ale jak napiszę np:

Kod: Zaznacz cały

tekst="<font size="36">Jakiś tekst</font> "
to nie działa. Domyślam się, że przez te cudzysłowowy więc jak zrobić, żeby do tego tekstu cudzysłowy były odbierane?

Re: [Flash CS5, AS 3.0] Zmienne Flashvars

: sob lut 26, 2011 7:07 pm
autor: Marek_bf

Kod: Zaznacz cały

tekst="<font size='36'>Jakiś tekst</font> "