有时候,我们想通过设置一个DisplayObject 类是属性值,只是需要通过点来引用即可。有时候,通过字符串也可以引用显示对象里面的属性值。
下面举个例子 。
例如我有一个MovieClip 对象,已经创建在舞台上,我们用mc表示他的对象。
设置mc.x=100,那么你看到的,mc在坐标100的位置了。
如果写成mc["x"]=100 同样可以看到mc在x=100的位置上,其实as3是有这两种的写法引用属性。
通过这个特性,我们可以定义一个简单的函数,函数如下:
function setValue(propoty:String,value:Number):void
{
mc[propoty]=value;
}
调用 setValue("x",100);//这样子可以实现了设置mc的x属性值为100了。
我们做一个小实验。在舞台上,我们创建两个输入文本,通过输入文本值,我们可以控制小球在舞台上位置产生变化。
小球命为mc,两个文本分别为x_txt,y_txt ,文本监听了Change 事件,当发生改变的时候执行监听的方法。
mc.x=200;
function setValue(propoty:String,value:Number):void
{
mc[propoty]=value;
}
x_txt.addEventListener(Event.CHANGE,onChange);
y_txt.addEventListener(Event.CHANGE,onChange);
function onChange(event:Event):void
{
if(event.currentTarget==x_txt)
{
setValue("x",Number(x_txt.text))
}
else
{
setValue("y",Number(y_txt.text))
}
}
输入文本可以控制其他属性,这里就不一一介绍。 通过利用这个特性可以来制作输入一些文本来控制位置的工具。