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、复杂数据类型变量创建的对象只有一个,即储存空间是同一个,而同一对象可以有多个引用,通过任何一个引用都可以修改空间中的数据,其他引用访问空间的数据也随着改变。
注:更改一个对象的属性,相同引用的对象属性也会随之改变,编程时一定要注意这个细节。