Exibição de textoFlash Player 9 e posterior, Adobe AIR 1.0 e posterior Embora as ferramentas de autoria como o Adobe Flash Builder e o Flash Professional apresentem várias opções de exibição de texto, incluindo componentes relacionados a texto ou ferramentas de texto, o modo mais simples de exibir texto de modo programático é por meio de um campo de texto. Tipos de textoO tipo de texto dentro de um campo é caracterizado por sua fonte:
Modificação de conteúdos de campo de textoVocê pode definir texto dinâmico atribuindo uma sequência de caracteres à propriedade flash.text.TextField.text. Você designa uma sequência de caracteres diretamente à propriedade, como segue: myTextField.text = "Hello World"; Também é possível designar à propriedade text um valor de uma variável definida no script, como no exemplo a seguir: package { import flash.display.Sprite; import flash.text.*; public class TextWithImage extends Sprite { private var myTextBox:TextField = new TextField(); private var myText:String = "Hello World"; public function TextWithImage() { addChild(myTextBox); myTextBox.text = myText; } } } Como alternativa, você pode designar à propriedade text um valor de uma variável remota. Você tem três opções para carregar valores de texto de fontes remotas:
Exibição de texto HTMLA classe flash.text.TextField tem uma propriedade htmlText que pode ser usada para identificar a sequência de texto à medida que ela contém tags HTML para formatação de conteúdo. Como no exemplo a seguir, atribua um valor de sequência de caracteres à propriedade htmlText (não à propriedade text) do Flash Player ou AIR para renderizar o texto como HTML: var myText:String = "<p>This is <b>some</b> content to <i>render</i> as <u>HTML</u> text.</p>"; myTextBox.htmlText = myText; O Flash Player e o AIR dão suporte a um subconjunto de tags HTML e às entidades da propriedade htmlText. A descrição da propriedade flash.text.TextField.htmlText na Referência do ActionScript 3.0 apresenta informações detalhadas sobre as tags e entidades HTML com suporte. Assim que projetar o conteúdo usando a propriedade htmlText, você poderá usar as folhas de estilos ou a tag textformat para gerenciar a formatação do conteúdo. Para obter mais informações, consulte Formatação de texto. Uso de imagens em campos de textoOutra vantagem de exibir o conteúdo como texto HTML é a inclusão de imagens no campo de texto. É possível fazer referência a uma imagem, local ou remota, usando a tag img e fazer com que ela apareça dentro do campo de texto associado. O exemplo a seguir cria um campo de texto denominado myTextBox e inclui a imagem JPG de um olho, armazenada no mesmo diretório que o arquivo SWF, dentro do texto exibido: package { import flash.display.Sprite; import flash.text.*; public class TextWithImage extends Sprite { private var myTextBox:TextField; private var myText:String = "<p>This is <b>some</b> content to <i>test</i> and <i>see</i></p><p><img src='eye.jpg' width='20' height='20'></p><p>what can be rendered.</p><p>You should see an eye image and some <u>HTML</u> text.</p>"; public function TextWithImage() { myTextBox.width = 200; myTextBox.height = 200; myTextBox.multiline = true; myTextBox.wordWrap = true; myTextBox.border = true; addChild(myTextBox); myTextBox.htmlText = myText; } } } A tag img suporta arquivos JPEG, GIF, PNG e SWF. Rolagem de texto em um campo de textoÉ possível que, em muitos casos, o texto seja maior que o campo de exibição. Ou talvez um campo de entrada permita que um usuário insira mais texto do que possa ser exibido de uma única vez. Nesses casos, use as propriedades da classe flash.text.TextField relativas à rolagem para gerenciar conteúdos extensos, quer na vertical quanto na horizontal. Essas propriedades incluem TextField.scrollV, TextField.scrollH, maxScrollV e maxScrollH. Use essas propriedades para responder a eventos, como um clique de mouse ou um pressionamento de tecla. O exemplo a seguir cria um campo de texto que é um tamanho definido e contém mais texto do que o campo pode exibir de uma única vez. O texto rola verticalmente à medida que o usuário clica no campo de texto. package { import flash.display.Sprite; import flash.text.*; import flash.events.MouseEvent; public class TextScrollExample extends Sprite { private var myTextBox:TextField = new TextField(); private var myText:String = "Hello world and welcome to the show. It's really nice to meet you. Take your coat off and stay a while. OK, show is over. Hope you had fun. You can go home now. Don't forget to tip your waiter. There are mints in the bowl by the door. Thank you. Please come again."; public function TextScrollExample() { myTextBox.text = myText; myTextBox.width = 200; myTextBox.height = 50; myTextBox.multiline = true; myTextBox.wordWrap = true; myTextBox.background = true; myTextBox.border = true; var format:TextFormat = new TextFormat(); format.font = "Verdana"; format.color = 0xFF0000; format.size = 10; myTextBox.defaultTextFormat = format; addChild(myTextBox); myTextBox.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownScroll); } public function mouseDownScroll(event:MouseEvent):void { myTextBox.scrollV++; } } } |
![]() |