Problema com ActionScript

Loni

Power Member
Boas pessoal,
estou aqui com um problema, e gostava de ver se alguem me conseguia dar uma maosinha.

Estou a tentar fazer um scroller no flash com texto importado de fonte externa. Até aqui tudo na boa, sem problemas. A questão põe-se em como formatar esse texto que é importado.
Eu estou a usar o seguinte código:


var external_txt:TextField = new TextField();
var externalReq:URLRequest = new URLRequest("adaptation.txt");
var externalLoad:URLLoader = new URLLoader();
var style:StyleSheet = new StyleSheet();
style.setStyle("a", {color:"#CC3300"});

externalLoad.load(externalReq);

externalLoad.addEventListener(Event.COMPLETE, textReady);
up.addEventListener(MouseEvent.CLICK, scrollUp);
down.addEventListener(MouseEvent.CLICK, scrollDown);

external_txt.x = 175;
external_txt.y = 100;
external_txt.border = true;
external_txt.width = 200;
external_txt.height = 200;
external_txt.wordWrap = true;

addChild(external_txt);

function textReady(event:Event):void
{
external_txt.styleSheet = style;
external_txt.htmlText = event.target.data;

}

function scrollUp(event:MouseEvent):void
{
external_txt.scrollV --;
}

function scrollDown(event:MouseEvent):void
{
external_txt.scrollV ++;
}






a questão é que só consigo mudar a cor... tento adicionar outros parametros mas dá sempre erro.
Alguem me sabe dizer como fazer? Precisava alterar apenas o tipo de letra e o tamanho.

Abraços
 
Do mesmo modo que estás a usar CSS para mudar a cor dos links, não podes também fazer isso para o resto do texto? Ou a tua dúvida era precisamente como mudar através do CSS?
 
Usa o TextFormat.

Vai um exemplo da própria ajuda do Flash:

Código:
package {
    import flash.display.Sprite;
    import flash.text.TextField;
    import flash.text.TextFormat;  
    import flash.text.TextFieldAutoSize;  
    import flash.events.MouseEvent;

    public class TextField_setTextFormatExample extends Sprite {
        private var myTextField:TextField = new TextField();
        private var newFormat:TextFormat = new TextFormat();
        
        public function TextField_setTextFormatExample() {
            myTextField.autoSize = TextFieldAutoSize.LEFT;
            myTextField.selectable = false;
            myTextField.background = true;
            myTextField.text = "No matter where you click on this text field only the TEXT IN ALL CAPS changes format.";

            myTextField.addEventListener(MouseEvent.CLICK, clickHandler);

            newFormat.color = 0xFF0000;
            newFormat.size = 18;
            newFormat.underline = true;
            newFormat.italic = true;
                
            this.addChild(myTextField);
        }

        private function clickHandler(event:MouseEvent):void {
            var currentTextFormat:TextFormat = myTextField.getTextFormat(55);
            
            if(currentTextFormat.size != 18) {
                myTextField.setTextFormat(newFormat, 54, 70);
            }
            else {
                myTextField.setTextFormat(myTextField.defaultTextFormat);
            }    
        }    
    }
}
 
Back
Topo