2006-02-06 13:07Zoom全屏第一讲、 如何操作动态变量名

第一讲、 如何操作动态变量名
前言
论坛已经开了几期动作脚本入门课,在入门课中我们学会了一些基础知识,很多同学要求开设提高课,本篇教程就是根据这个要求而写的,主要对在入门课中没有涉及过的知识进行补充和完善,实际上还是一些动作脚本的基础知识,所谓提高仅仅是对我们自己而言的。

第一讲 如何操作动态变量名
===================
一 set 语句
===================
脚本位置;语句-变量
语法
set("variableString",expression)
参数
variable 是一个动态变化的变量名,注意变量名要用双引号括起来
expression 要为变量赋的值
说明:
set()命令用来动态的赋值,也可以修改变量的值,set 语句中不支持严格数据类型指定。

示例 s1-1
在舞台上有5个影片剪辑mc1-mc5,每个影片剪辑中都有一个动态文本框txt,下面使用循环语句为每个动态文本框赋值。
on (release) {
for (i=1; i<=5; i++) {
set("mc"+i+".txt", i);
}
}
示例 s1-2
下面的代码循环5次,并创建5个名为 caption0-caption5 的新变量:
on (release) {
for (var i = 1; i<=5; i++) {
set("caption"+i, "this is caption "+i);
}
this.mc1.txt = caption1;
this.mc2.txt = caption2;
this.mc3.txt = caption3;
this.mc4.txt = caption4;
this.mc5.txt = caption5;
}
===================
二 eval 函数
===================
脚本位置;全局函数-其他函数
语法1
eval(expression:Object) : Object
语法2
eval(expression:String) : Object
参数
expression:Object - 要检索的变量、属性、对象或影片剪辑的名称。此参数可以是一个字符串,也可以是对对象实例的直接引用(也就是说,双引号是可选的)。
返回
Object - 一个值(对对象或影片剪辑的引用)或 undefined。

语法解读;
(1)
式子expression:Object使用冒号对expression进行了数据类型指定,Object表示对象,说明expression是一个对象的名称,常见的对象有影片剪辑,函数等
(2)
式子eval(expression:Object) : Object后面的":Object"说明这个函数有返回值,返回的是一个对象引用。
(3)
在 Flash5 或更高版本中,不能使用 eval() 动态设置和检索变量值或实例名称,因为不能在等式的左侧使用 eval()。例如;
eval ("var" + i) = "first";
可以替换为:
this["var"+i] = "first"
或者替换为:
set ("var" + i, "first");

示例 s1-3
on (release) {
a5 = "常用脚本练习";
x = 5;
//将字符串"a"+x转换为标识符并返回对该标识符的引用
y=eval("a"+x)
//输出该变量的值"常用脚本练习"
trace(y);
}



===================
三 数组访问运算符 []
===================
数组访问运算符[]除了具有数组定义和访问数组元素的功能外,还具有set语句和eval函数的功能。凡是使用set和eval的地方,都可以使用[]来替代。使用[]运算符的方法是:this[],_root[],_parent[]等,注意它们之间不能有"."。
示例 s1-4
在舞台上有3个影片剪辑mc1-mc3,每个影片剪辑中都有一个动态文本框txt,下面使用循环语句为每个动态文本框赋值。
on (release) {
for (i=1; i<=3; i++) {
this["mc"+i+".txt"] = i;
}
}
示例 s1-5
on (release) {
a5 = "常用脚本练习";
x = 5;
y=this["a"+x]
trace(y);//常用脚本练习
}


作者:Poster:liujihome 分类:Category:学习体会 回复Comments:  引用Trackback:  阅读Read: 

回复Comments

{commenttime}{commentauthor}

{CommentUrl}
{commentcontent}
留言回复(带*号为必填)Post Comment(* must be)

作 者Author:

 主 页Homepage:

 邮 箱Email:

内 容Content:

 选 项option:使用表情Enable Smile转换UBBEnable UBB记住我Remember me

 验证码Verify Code:验证码