簡體   English   中英

as3-如何更改字體,大小和顏色?

[英]as3 - How to change font, size, and color?

只是警告,我對編程不是很精通。 如果我正在閱讀代碼,我或多或少會理解一行代碼可以實現什么,但是每當我需要從頭開始做某件事時,我都會感到掙扎。

我找到了Flash測驗模板,該模板可通過腳本處理所有內容。 在對測驗進行調整的同時,我添加了背景圖片,使文字難以閱讀。 我想更改文本的顏色,大小和所使用的字體,但是現有代碼中沒有任何內容可以調整設置,因此很麻煩。

.fla使用兩種腳本:一種用於處理測驗的導航和評分,而另一種似乎專用於格式化問題和答案的顯示方式。 看起來任何字體調整都會在第二個中進行,因此這是完整的腳本:

package {
    import flash.display.Sprite;
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
    import flash.events.Event;
    import fl.controls.RadioButton;
    import fl.controls.RadioButtonGroup;

    public class QuizQuestion extends Sprite {
        private var question:String;
        private var questionField:TextField;
        private var choices:Array;
        private var theCorrectAnswer:int;
        private var theUserAnswer:int;
        //variables for positioning:
        private var questionX:int = 25;
        private var questionY:int = 25;
        private var answerX:int = 60;
        private var answerY:int = 55;
        private var spacing:int = 25;

        public function QuizQuestion(theQuestion:String, theAnswer:int, ...answers) {
            //store the supplied arguments in the private variables:

            question = theQuestion;
            theCorrectAnswer = theAnswer;
            choices = answers;
            //create and position the textfield (question):
            questionField = new TextField();
    questionField.text = question;
    questionField.autoSize = TextFieldAutoSize.LEFT;
            questionField.x = questionX;
            questionField.y = questionY;

            addChild(questionField);
            //create and position the radio buttons (answers):
            var myGroup:RadioButtonGroup = new RadioButtonGroup("group1");
            myGroup.addEventListener(Event.CHANGE, changeHandler);
            for(var i:int = 0; i < choices.length; i++) {
                var rb:RadioButton = new RadioButton();
                rb.textField.autoSize = TextFieldAutoSize.LEFT;
                rb.label = choices[i];
                rb.group = myGroup;
                rb.value = i + 1;
                rb.x = answerX;
                rb.y = answerY + (i * spacing);
                addChild(rb);
            }
        }

        private function changeHandler(event:Event) {
            theUserAnswer = event.target.selectedData;
        }
        public function get correctAnswer():int {
            return theCorrectAnswer;
        }
        public function get userAnswer():int {
            return theUserAnswer;
        }
    }
}

我在這里查看了幾個問題,並嘗試根據我的腳本調整解決方案,但似乎沒有任何改變。 我得到的最佳結果將運行測驗而不會出錯,但似乎也沒有對文本進行任何調整。 有人可以引導我通過它嗎?

您需要使用TextFormat。 http://help.adobe.com/zh_CN/FlashPlatform/reference/actionscript/3/flash/text/TextFormat.html

只需將其應用於TextField實例。

要添加到@dimpiax的答案,您可以按如下方式設置RadioButton標簽的樣式:

rb.setStyle("textFormat", answerFormat);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM