多语言展示
当前在线:1982今日阅读:26今日分享:39

FlashCS6舞台变量stage解析

Flash舞台其实是一个变量,变量名是stage,即stage是控制舞台的变量。笔者详细的给你解析一下舞台变量stage。
工具/原料

Flash CS6

方法/步骤
1

FlashCS6中舞台的名字叫stage,这个名字实际上是变量名,即stage是控制舞台的变量。通过stage就可以动态的控制舞台,由于这个变量不需要用户定义,而是系统自定义的,因此,可以直接使用变量stage。

2

在动作面板输入以下代码,测试一下变量stage保存了什么数据。

3

从输出的信息可以看出,变量stage并不像前面自己定义的变量一样,输出某个具体的值,而是输出一些字符串信息。其中,object代表对象,Stage表示类,此信息告诉我们stage是Stage类的对象。

4

类可以看成是创建对象的模板,即舞台stage是由Stage类创建的。因此舞台又称为舞台对象。为什么会输出“[object Stage]”这样的信息呢?我们先在“动作”面板输入以下代码。

5

变量speed其实是Number类创建的对象,当用trace()函数输出变量时,会自动调用toString()方法,对于Number类来说,它的toString()方法返回的是数字5。但有些类就不同,像Stage类的toString()方法返回的是“[object Stage]”的信息。

6

由于变量speed此处操作的是数字5,可以简单地用5来表示返回信息,而stage操作的是舞台,舞台的信息并不是用简单的数字或字符就能表示的。

7

舞台是如何保存这么多数据的呢?由于舞台的帧频、宽和高都是某个具体的数字,这些信息可以用自定义变量的方式保存,就像下列代码。

8

由前面学过的知识知道,定义3个变量后,相当于创建3个保存数据的容器,如下图所示。

9

图中三个容器——即3个变量,变量名frameRate保存了变量值是24,用来表示帧频;变量名stageWidth保存的变量值是550,表示舞台的宽度;变量名stageHeight保存的变量值是400,表示舞台的高度。舞台stage则是把这3个容器再保存到一个容器中。

10

综上所述,舞台也是保存数据的容器,并且舞台容器中又有很多小的容器,所以舞台是容器的容器,通过这种容器的嵌套,就可以保存非常复杂的数据。

11

像舞台这种含有复杂数据的东西一般称为复杂对象,要访问对象中的变量,需要使用点语法:对象名.变量名

12

对于舞台这个复杂对象来说,它的对象名是stage,由于舞台中又保存了stageWidth等变量,因此,可以用下面的代码来访问stageWidth变量:

13

对象中的变量在面向对象编程中称为属性,属性由属性名和属性值组成,属性名其实就是变量名,属性值是变量值。访问对象的属性的形式如下:对象名.属性名

14

在“动作”面板中输入下面的代码。

15

运行上面的代码,可得以下输出信息。我们现在应该知道变量有两种。一种变量只保存简单的数据,前面提到的speed、frameRate、stageWidth都是属于这种,它们只保存一些数字或其他数据。另一种变量保存的是容器,变量保存的就是许多小容器。因此,编程中,把变量分为简单变量和复杂变量两种,简单变量是容器,只保存简单数据,而复杂变量是容器的容器,可以保存复杂数据。

16

容器的容器是如何创建的呢?这其实与类有关,舞台stage是通过Stage类创建的,Stage类的伪代码如下图所示。

17

在Stage类中定义了3个变量,用来表示舞台的帧频、宽和高。当由Stage类创建舞台后,舞台就含有3个变量,定义在类中的变量一般称为属性,属性名即变量名,属性值即变量值。

18

现在你应该知道FlashCS6中的舞台变量stage了吧!是不是很有趣。

注意事项

作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。

推荐信息