1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Problema com ActionScript

Discussão em 'Web Development' iniciada por Loni, 17 de Junho de 2009. (Respostas: 2; Visualizações: 615)

  1. Loni

    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
     
  2. OldMan

    OldMan Power Member

    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?
     
  3. Sérgio Santos

    Sérgio Santos Power Member

    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);
                }    
            }    
        }
    }
    
     

Partilhar esta Página