Visa textFlash Player 9 och senare, Adobe AIR 1.0 och senare Utvecklingsverktyg som Adobe Flash Builder och Flash Professional har flera alternativ för textvisning, inklusive textrelaterade komponenter och textverktyg, men det enklaste sättet att programmässigt visa text är via ett textfält. Typer av textTypen av text i ett textfält karakteriseras av sin källa:
Ändra innehåll i textfältDu kan definiera dynamisk text genom att tilldela en sträng till egenskapen flash.text.TextField.text. Du kan tilldela en sträng direkt till egenskapen på följande sätt: myTextField.text = "Hello World"; Du kan även tilldela text-egenskapen ett värde från en variabel som definierats i ditt skript, som i exemplet nedan: 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; } } } Alternativt kan du tilldela text-egenskapen ett värde från en fjärrvariabel. Det finns tre alternativ för att läsa in textvärden från fjärrkällor:
Visa HTML-textMed klassen flash.text.TextField kan du använda egenskapen htmlText när du vill identifiera textsträngen som en sträng som innehåller HTML-taggar för formatering av innehåll. Du måste tilldela strängvärdet till egenskapen htmlText (inte text-egenskapen) för Flash Player eller AIR om du vill visa text som HTML, så som i exemplet nedan: var myText:String = "<p>This is <b>some</b> content to <i>render</i> as <u>HTML</u> text.</p>"; myTextBox.htmlText = myText; Flash Player och AIR har stöd för en delmängd HTML-taggar och entiteter för egenskapen htmlText. Egenskapsbeskrivningen för flash.text.TextField.htmlText i Referenshandbok för ActionScript® 3.0 i Adobe® Flash® Professional CS5 innehåller detaljerad information om de HTML-taggar och entiteter som stöds. När du anger innehåll med egenskapen htmlText kan du använda formatmallar eller taggen textformat när du vill formatera innehållet. Mer information finns i Formatera text. Använda bilder i textfältEn annan fördel med att visa innehållet som HTML-text är att du kan inkludera bilder i textfältet. Du kan skapa en referens till en lokal bild eller en fjärrbild med taggen img och visa den i det tillhörande textfältet. Exemplet nedan skapar ett textfält kallat myTextBox som inkluderar en JPG-bild av ett öga som lagras i samma katalog som SWF-filen i texten som visas: 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; } } } Taggen img har stöd för JPEG-, GIF-, PNG- och SWF-filer. Rulla text i ett textfältI många fall kan din text vara längre än textfältet som visar texten. Eller du kan ha ett inmatningsfält där användaren kan skriva mer text än det som kan visas samtidigt. Du kan använda rullningsegenskaperna i klassen flash.text.TextField när du vill hantera långt innehåll, antingen lodrätt eller vågrätt. Rullningsegenskaperna inkluderar TextField.scrollV, TextField.scrollH och maxScrollV samt maxScrollH. Använd egenskaperna när du vill svara på händelser, t.ex. ett musklick eller en tangenttryckning. Exemplet nedan skapar ett textfält med en fast inställd storlek som innehåller mer text än fältet kan visa. Texten rullar lodrätt när användaren klickar på textfältet. 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++; } } } |
|