pangxie736 - 2008-1-31 11:05:00
前一段时间看别人做的flash导航条,其中有个朋友做的一个语言"[ ]"我很不理解,后来翻看flash字典,我才明白了用法,感觉这个用法挺爽的,我来说说,你来听听:
var n=0;
this["name"+n]._x=40+n;
//这句话的意思就是当前影片剪辑中一个名字叫做“name0”的影片剪辑,它的X坐标是40.同理:
var t=5;
_parent["name"+t]._xscale=0.4*t+100;
//这个控制其父影片剪辑“name5”的参数;还可以是:
var v=50;
_root["name"+v].gotoAndPlay(v);
//这个是播放主影片剪辑中一个叫“name50”影片剪辑的第50桢。
_______________________________________________________
恶心大熊猫 - 2008-1-31 14:21:00
- -|| [ ] 这个用法很多,这个是为了方便,但是要和数据区别开``
熊小明 - 2008-2-1 23:26:00
最近因为临近春节,所以不能经常上网,所以更新速度比较慢,不好意思;
说到"[]" 就有必要提到 eval
eval 函数
eval(expression:Object) : Object
eval(expression:String) : Object
按照名称访问变量、属性、对象或影片剪辑。如果表达式是变量或属性,则返回该变量或属性的值。如果表达式是对象或影片剪辑,则返回对该对象或影片剪辑的引用。如果无法找到表达式中列举的元素,则返回 undefined。
在 Flash 4 中,eval() 用于模拟数组;在 Flash 5 或更高版本中,您应该使用 Array 类来模拟数组。
在 Flash 4 中,您还可以使用 eval() 动态地设置和检索变量值或实例名称。然而,也可以使用数组访问运算符 ([]) 来实现这一点。
在 Flash5 或更高版本中,不能使用 eval() 动态设置和检索变量值或实例名称,因为不能在等式的左侧使用 eval()。例如,将代码
eval ("var" + i) = "first";
替换为:
this["var"+i] = "first"
或者替换为:
set ("var" + i, "first");
可用性:Flash Player 5;ActionScript 1.0
参数
expression:Object - 要检索的变量、属性、对象或影片剪辑的名称。此参数可以是一个字符串,也可以是对对象实例的直接引用(也就是说,引号 (" ") 是可选的)。
返回
Object - 一个值(对对象或影片剪辑的引用)或 undefined。
示例
下面的示例使用 eval() 为动态命名的影片剪辑设置属性。此 ActionScript 为三个影片剪辑(分别称为 square1_mc、square2_mc 和 square3_mc)设置 _rotation 属性。
for (var i = 1; i <= 3; i++) {
setProperty(eval("square"+i+"_mc"), _rotation, 5);
}
也可以使用以下 ActionScript:
for (var i = 1; i <= 3; i++) {
this["square"+i+"_mc"]._rotation = -5;
}
但是 "[]" 和 eval 是有区别的 ,用 eval 访问的属性是只读的
sunshine - 2008-3-4 23:03:00
这个帖子不是地方吧!建议转到as里面去吖!