Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 as3-如何更改字体、大小和颜色?_Actionscript 3_Flash_Fonts_Colors_Size - Fatal编程技术网

Actionscript 3 as3-如何更改字体、大小和颜色?

Actionscript 3 as3-如何更改字体、大小和颜色?,actionscript-3,flash,fonts,colors,size,Actionscript 3,Flash,Fonts,Colors,Size,只是警告一下,我对编程不是很精通。如果我在阅读代码,我或多或少能理解一行代码的意义,但每当我需要从头开始做一些东西时,我都会很挣扎 我发现了一个Flash的测验模板,它通过脚本处理所有事情。在对测验进行调整时,我添加了一个背景图像,使文本难以阅读。我想更改文本的颜色、大小和使用的字体,但是现有代码中没有任何内容可以调整设置,我被卡住了 fla使用了两个脚本:一个处理测验的导航和评分,另一个似乎专门用于格式化问题和答案的显示方式。看起来任何字体调整都会在第二次调整中进行,因此下面是完整的脚本: p

只是警告一下,我对编程不是很精通。如果我在阅读代码,我或多或少能理解一行代码的意义,但每当我需要从头开始做一些东西时,我都会很挣扎

我发现了一个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;
        }
    }
}
包{
导入flash.display.Sprite;
导入flash.text.TextField;
导入flash.text.textfield自动调整大小;
导入flash.events.Event;
导入fl.controls.RadioButton;
导入fl.controls.RadioButtonGroup;
公开课提问扩展了雪碧{
私有变量问题:字符串;
私有变量字段:TextField;
私有变量选择:数组;
正确答案:int;
用户答案:int;
//定位变量:
私人变量x:int=25;
私人变量问题:int=25;
私人var answerX:int=60;
私人var应答:int=55;
专用变量间距:int=25;
公共函数提问(问题:字符串,答案:int,…答案){
//将提供的参数存储在专用变量中:
问题=问题;
正确答案=答案;
选择=答案;
//创建并定位文本字段(问题):
questionField=新文本字段();
questionField.text=问题;
questionField.autoSize=TextFieldAutoSize.LEFT;
questionField.x=questionX;
questionField.y=questionY;
addChild(问题域);
//创建并定位单选按钮(答案):
var myGroup:RadioButtonGroup=新的RadioButtonGroup(“group1”);
myGroup.addEventListener(Event.CHANGE,changeHandler);
for(变量i:int=0;i

我已经在这里看了一些问题,并尝试根据我的脚本调整解决方案,但似乎没有改变文本。我得到的最好结果是,测试不会出错,但似乎也不会对文本进行任何调整。有人能带我看一下吗?

你需要使用文本格式


只需将其应用于TextField实例。

要添加到@dimpiax的答案中,您可以将RadioButton标签设置为如下样式:

rb.setStyle("textFormat", answerFormat);

我可以更改问题文本,但数组中的答案没有更新。有没有办法改变答案呢?questionFormat=新文本格式();questionFormat.size=12;questionFormat.bold=true;questionFormat.font=“Arial”questionFormat.color=0xFFFFFF;questionField=新文本字段();questionField.defaultTextFormat=questionFormat;questionField.text=问题;questionField.autoSize=TextFieldAutoSize.LEFT;questionField.x=questionX;questionField.y=questionY;抱歉,我似乎无法添加任何换行符。