《ActionScript 3.0基础教程》——1.4 对象参数

简介:

本节书摘来自异步社区《ActionScript 3.0基础教程》一书中的第1章,第1.4节,作者: 【美】Doug Winnie 更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.4 对象参数

现在基本的知识你已经掌握了,你将开始写一些ActionScript代码来操作舞台上的蓝色圆圈。

任何的对象、元件、图像、动画都有自己的属性,例如舞台上的圆圈就有一些属性。

注意看属性面板,你会发现圆圈的属性有它的宽,高,x、y的位置(图1.11)。你可以使用ActionScript来读取这些属性的值,或者为它们设置新的值。


f27948d1f912d12e1c8a4a1ce1bf225003c92b64

你需要标注这些对象才能访问它们,这也是为什么我们需要给每一个实例取唯一的名字的原因。

1.选中Script层的第一帧,删除早前我们写入的trace语句,替换为下面的代码:

trace(circle_1.x);
trace(circle_1.y);

2.从Control菜单中再次运行程序,你会看见相同的预览影片,但是从显示面板中,你会看见两组数字(图1.12)。


f5a8f7d216cec9d1b7c59bc4b0a1ae88baaf98e9

这两句代码的意思是访问舞台上的circle_1实例,获取实例的x坐标值,再发送到显示面板显示。同样的语句获取并显示了y坐标的值。

你已经成功的获取了舞台上circle实例的x和y属性的值。

3.移动舞台上圆圈的位置,再次运行程序,你会看见显示面板中x和y的值变成了新的坐标位置的值(图1.13)。


4ba4c7f91518b036f62cec9f89b50e4546e0c348

注意,与你第一次使用trace语句时不同,这次括号里的代码没有用引号给引起来,因为,与访问字符串不同,这次我们访问的是被保存的x和y的值,保存它们的东西我们称之为variables(变量)。变量中保存着这些数据,它们可以被ActionScript访问和修改。当你访问变量、访问变量的属性时,就不需要使用引号了。我们修改第一行代码来说明这个问题。

4.在第一行代码的括号中插入引号,现在代码是这样的:

trace("circle_1.x");
trace(circle_1.y);

5.运行程序,注意显示面板中的第一行显示了字符串circle_1,第二行显示了数字(图1.14),因为你在trace中使用引号就表示你想输出字符串而不是访问circle_1实例的x属性。现在你学会了如何访问实例的属性,你可以尝试着修改代码。在继续我们的内容之前,把圆圈移动到舞台的左上方。


cf90ea5ded4f3503233b38721e05a568769231f3

6.在属性面板中输入0和0到x和y属性值中(图1.15)。

44153f4aa91a61f6dc86ffc043efd7cb60bc38bf

接下来,你将使用ActionScript设置的值来代替我们在属性面板中设置的值。当你运行程序时,ActionScript代码会立即替换circle_1实例x和y的值。

在访问对象的值时,你会使用值的名字进行访问,ActionScript会找到该属性名当前的值,并且将它替换成新的值。所有的MovieClip都包含很多属性。在这个例子里,你已经尝试了对象的x和y属性,这两个属性表示对象在舞台上的坐标位置。

当你想要改变某个变量的值时,你需要使用“=”来完成这个操作。

7.在动作面板里,用下面的代码代替原来的:

circle_1.x = 100;
circle_1.y = 200;

这段代码访问了circle_1实例的x和y属性,并且给它们设置了新的值,x属性表示的x坐标被设置成了100,而y坐标被设置成了200。

在circle_1和x、y属性中间的圆点表示你正在访问圆点前的实例的属性,这里很明显就是circle_1,这个圆点称之为点符号。你可以使用点符号访问对象的属性。

我想再说一下每行代码最后的分号。每一行ActionScript的结尾处的分号让ActionScript知道这是一段命令的结束。分号是必须的,请记住一定要在结尾加上它!

8.运行程序,注意,我们虽然把圆圈放在了左上角,坐标为(0,0),但是ActionScript会覆盖我们的默认设置,把圆圈定位到新的位置(图1.16),让我们增加一些代码来证明ActionScript是否做了这件事。


5d0d9fc7d5db7cd4ef7caac1237d4ca6d60de3a4

9.把下面高亮的代码写入到动作面板中:

trace("Before:");
trace(circle_1.x);
trace(circle_2.y);
circle_1.x = 100;
circle_1.y = 200; 
trace("After:");
trace(circle_1.x);
trace(circle_2.y);

10.运行程序,注意,显示面板在程序刚开始运行时,显示出(0,0),但是赋值语句会将初始的(0,0)改变成为新的值。Flash播放器在圆圈坐标被改变后,会将它新的坐标显示出来(图1.17)。


b36cdf9f44d301f78842397b8911e2054b7dca75

你也许会问,为什么在程序运行的时候我没有看见圆圈出现在(0,0)位置。简单来说,是因为新坐标设置的命令执行的太快了,Flash播放器还没有机会来显示(0,0)位置的圆圈。之后,你会学习到如何进行属性的设置,让变化有动画效果。

有很多的属性你都可以用ActionScript来修改。表1.1中列出了最常用的属性。


fe7d786e4a4ecf2df15e6b03523d78021745c450

在列表中,有一些属性的值是true和false。如果想要使用这些属性,你需要为它们赋值true或者false。参考visible属性的用法。

11.把下面的代码加到ActionScript的最后:

circle_1.visible = false;
注意false是没有双引号包裹的,这是一种特殊类型的值叫做Boolean(布尔型),在以后的章节中我们会学习到。

12.运行程序,你会注意到对象已经看不见了,实例实际上还是在那的,只是你告诉Flash播放器通过设置属性visible为false来将它隐藏(图1.18)。


24f1b99d88ba1e0a4389e30172fd9ab91d88e142
相关文章
|
4月前
|
存储 C# 图形学
【Unity 3D】C#数据类型和变量、命名规范的讲解(附源码)
【Unity 3D】C#数据类型和变量、命名规范的讲解(附源码)
46 1
|
6月前
|
前端开发 JavaScript
带你读《现代Javascript高级教程》三、函数上下文和this关键字(1)
带你读《现代Javascript高级教程》三、函数上下文和this关键字(1)
|
6月前
|
JavaScript 前端开发
带你读《现代Javascript高级教程》三、函数上下文和this关键字(2)
带你读《现代Javascript高级教程》三、函数上下文和this关键字(2)
|
存储 Swift 开发者
Swift讲解专题十一——属性
Swift讲解专题十一——属性
103 0
|
存储 安全 编译器
Swift专题讲解十五——类型构造(二)
Swift专题讲解十五——类型构造
100 0
|
存储 Swift 开发者
Swift专题讲解十五——类型构造(一)
Swift专题讲解十五——类型构造
226 0
Swift专题讲解十五——类型构造(一)
类中属性和方法 | Python从入门到精通:高阶篇之三十四
本节重点介绍了类属性、实例属性、类方法、实例方法、静态方法这些的用法以及区别。除实例方法外,其余都可以通过类和实例对象获取到。
类中属性和方法 | Python从入门到精通:高阶篇之三十四
隐藏类中的属性 | Python从入门到精通:高阶篇之二十七
本节我们首先要对封装的总体思路做了补充,然后介绍了隐藏类中的属性的2种方法,避免外部可以随意访问。
隐藏类中的属性 | Python从入门到精通:高阶篇之二十七