Flash中修改对象属性值需注意的细节
1、打开Flash软件,选择“ActionScript3.0”,新建一个空白文档。
2、在第一帧上右击,选择“动作”选项。
3、一、更改简单数据类型变量的值我们先来看一下,更改简单数据类型变量的值,会不会改变与它相同值的变量。先定义两个字符型变量,变量2等于变量1,用“trace”命令输出结果。“动作”面板中的代码如下图所示。
4、接着改变变量“str1”的值,用“trace”命令输出两个变量的值。改变变量“str2”的值,用“trace”命令输出两个变量的值。代码如下图所示。
5、运行程序,得到如下结果。我们可以看到简单数据类型变量,改变一个变量不会改变另一个变量的值。
6、二、更改复杂数据类型变量的值现在我们来改变复杂数据类型变量的值,一个变量值的改变会不会影响另一个变量的值。先创建两个对象,把对象1赋值给对象2,用“trace”命令输出两个对象。代码如下图所示。
7、接着改变对象1的属性值,用“trace”命令输出两个对象的属性值。“动作”面板中的代码如下图所示。
8、最后改变对象2的属性值,用“trace”命令输出两个对象的文本属性值。输入的代码如下图所示。
9、测试程序,得到结果如下图所示。从输出的信息可以看出,当改变对象p1_txt和p2_txt其中一个属性的值,另一个对象属性值也会随着改变。因为变匪犬挚驰量p1_txt和p2_txt引用的是同一个对象,当通过p1_txt引用修改对象的text属性值为“李白”时,改变的是p1_txt引用的对象实体,而p2_txt也是引用这个对象实例的,所以用p2_txt引用访问对象的text属性时,对象2的text属性也更改为“李白”。同理,改变p2_txt的属性值得到一样的结果。
10、复杂数据类型变量创建的对象只有一个,即储存空间是同一个,而同一对象可以有多个引用,通过任何一稍僚敉视个引用都可以修改空间中的数据,其他引用访问空间的数据也随着改变。注:更改一个对象的属性,相旎髂坑若同引用的对象属性也会随之改变,编程时一定要注意这个细节。