Actionscript 3 AS3使多个文本字段变得简单

Actionscript 3 AS3使多个文本字段变得简单,actionscript-3,textfield,Actionscript 3,Textfield,我正在为我的游戏和升级页面的结果页工作,并寻找一种简单的方法来做许多文本字段。我有一种文本格式,它可以处理字体、颜色和大小,但我正在寻找一种简单的方法来同时增加文本字段的宽度和高度 我被告知一个“with”关键字可能会起作用,但我不知道如何在我的程序中实现它,如果可能的话,我基本上希望缩短我的results类 谢谢,据我所知,您不能使用“with”关键字来定位多个对象。以下是它的文档: 我过去所做的只是创建一个包含所有目标的数组,然后编写一个循环将属性应用于每个目标: var textForma

我正在为我的游戏和升级页面的结果页工作,并寻找一种简单的方法来做许多文本字段。我有一种文本格式,它可以处理字体、颜色和大小,但我正在寻找一种简单的方法来同时增加文本字段的宽度和高度

我被告知一个“with”关键字可能会起作用,但我不知道如何在我的程序中实现它,如果可能的话,我基本上希望缩短我的results类


谢谢,

据我所知,您不能使用“with”关键字来定位多个对象。以下是它的文档:

我过去所做的只是创建一个包含所有目标的数组,然后编写一个循环将属性应用于每个目标:

var textFormat:TextFormat = generateMyCustomTextFormat();
var textField1:TextField = new TextField();
var textField2:TextField = new TextField();
//...
var textField3:TextField = new TextField();
var targets:Array = [textField1, textField2, textField3];
for(var i:int=0; i<targets.length; i++)
{
    targets[i].defaultTextFormat = textFormat;
    targets[i].width = 250;
    //...
}
var textFormat:textFormat=generateMyCustomTextFormat();
var textField1:TextField=new TextField();
var textField2:TextField=new TextField();
//...
var textField3:TextField=new TextField();
变量目标:数组=[textField1,textField2,textField3];

对于(var i:int=0;i而言,最好的方法是创建一个用于生成textfield的自定义函数

这个例子可以在这个例子中找到

因此,下面的内容就足够了:

private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField {

        var result:TextField = new TextField();

        result.x = x; 

        result.y = y;

        result.width = width; 

        result.height = height;

        return result;
    }
还可以为函数中的每个属性设置默认值

private function createCustomTextField ( x:Number= <Default Value>,  ...
您可能希望修改函数以接受名称,以便以后可以访问每个变量

var container:Sprite = new Sprite();  // New form container

container.addChild(createCustomTextField (20,20,50,50)); // Text Filed 1

container.addChild(createCustomTextField (20,50,50,50)); // Text Filed 2

addChild(container);  // Add to current class