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

2.2 显示队列概述

在Flash中,有一些规则定义了元件是如何被显示在屏幕上的,所有可以显示的元件都来自一个特殊的地方,我们叫它“显示队列”。显示队列中列出了所有你可以添加或者删除的对象,因为你是用ActionScript来创建对象的,所以这些对象在你没有把它们加入显示队列前是不会显示出来的。

为什么需要显示队列呢?有时,你会需要创建对象并且还能对它进行修改,但是并不需要将对象显示出来给用户看见。这个对象也许是一个没有准备好使用的元件,或者是需要隐藏起来的东西,对象实际上是在那的,只是用户看不见而已。

在过去,Flash用户会通过设置.visible属性值为false来隐藏元件,或者也可以设置.alpha为0达到同样效果,但是如果你有非常多的元件,这会让程序运行速度变慢。

2.2.1 在舞台上创建新对象
现在你已经对显示队列有了一定的了解,让我们写点代码实践一下。从库中创建ActionScript对象对你来说应该已经不成问题了,因为你学习了类和显示队列。

在我们用代码创建圆圈以前,你需要把舞台上的东西都清除掉。

1.选中舞台上的圆圈,删除它。

2.在当前项目中创建一个新的时间轴层。

3.取名新的层叫scripts。

4.选中新层的空白第一帧。

5.打开动作面板。

6.在动作面板中,加入下面的代码:

var myCircle:BlueCircle = new BlueCircle();
addChild(myCircle);
trace(myCircle);

输入代码后,你的界面应该如图2.5所示。


7.运行程序。

你会发现蓝色圆圈被显示在了左上角(图2.6),这是因为圆圈对象在被创建的时候就有了初始坐标值0,0,也就是左上角。

让我们分析一下这几句代码,第一行:

var myCircle:BlueCircle = new BlueCircle();

可以这样理解,一个叫做myCircle的对象被创建,它被赋值成了BlueCircle类的一个实例,过程如图2.7所示。



在这组插图中,第一组展示了你正在创建一个叫做myCircle的对象。在以后的章节里你会学到更多关于var语句的内容,现在只要记住你创建的新对象叫做myCircle。接下来注意你库中的BlueCircle“便利贴堆”,或者我们可以正式的叫它类。

第二组图片展示了你正在从便利贴堆中抽出一张,使用的是new语句,创建了BlueCircle类的实例。当实例刚被创建好时,它还没有名字。

第三组图片展示了还没有名字的BlueCircle实例被赋给了已经命名的myCircle对象。对对象进行操作一定要做这样的赋值,因为我们只能操作有名字的实例。

这个过程和直接把对象从库中拖拽到舞台上并给它取名是完全相同的效果。

看第二行代码:

addChild(myCircle);

这行代码表示将蓝色圆圈加入显示队列,它就能被用户看见了。addChild语句会将括号中的对象加入到显示队列中。

当Flash开始运行时,Flash会不断地检查显示队列,把其中的对象显示到屏幕上,蓝色圆圈已经在显示队列里,所以你能看见它。

看最后一行代码,它在显示面板中输出了一段奇怪的字符串:

trace(myCircle);

这一行代码是将整个对象输出到了显示面板。注意显示面板是这样显示的:

[object BlueCircle]

因为对象没有可显示的字符串,所以trace语句就自动往显示面板输出表明对象是BlueCircle的实例的字符串。

2.2.2 搅乱显示队列
现在你更新一下代码来进一步了解显示队列是如何工作的。

1.把代码改成这样:

var myCircle:BlueCircle = new BlueCircle();
// addChild(myCircle);
trace(myCircle);

当你在第二行代码前加上双斜杠时,你正在做的操作我们称之为“注释”。在下一节你会了解到更多关于注释的知识,现在先记住这两个斜杠让这段代码不在起作用,Flash运行时会忽略掉这一行。注意代码现在变成了灰色,这是注释的默认颜色(图2.8)。


myCircle对象因为缺少了addChild语句,没有被加入显示队列。

2.运行代码,你会看见一个空的页面。

检查显示面板,你会看见trace还是输出了同样的内容,这是因为对象是存在的,只是没有被放入显示队列中(图2.9)。


这是非常多新手都会犯的的错误,创建了新的实例对象,忘记把它加入显示队列,你会发现运行程序时没有任何错误,因为对象是存在的,但是你忘了告诉Flash要把它显示出来。

3.删除双斜杠,把addChild语句还原。

4.再次运行程序,你会重新在页面中看见圆圈。

2.2.3 改变动态创建的对象的属性
如果你想把对象放在你想要的位置,你可以在对象被创建后设置x,y属性的值。

1.更新代码,把赋值语句放在对象被new语句创建之后。

var myCircle:BlueCircle = new BlueCircle();
****myCircle.x = 150;****
**myCircle.y = 100;**
**addChild(myCircle);**
trace(myCircle);

2.运行代码,对象被显示在了150,100位置(图2.10)。


《ActionScript 3.0基础教程》——2.2 显示队列概述相关推荐

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

    本节书摘来自异步社区<ActionScript 3.0基础教程>一书中的第1章,第1.4节,作者: [美]Doug Winnie 更多章节内容可以访问云栖社区"异步社区" ...

  2. 《ActionScript 3.0基础教程》——1.3 在显示面板输出信息

    本节书摘来自异步社区<ActionScript 3.0基础教程>一书中的第1章,第1.3节,作者: [美]Doug Winnie 更多章节内容可以访问云栖社区"异步社区" ...

  3. 《ActionScript 3.0基础教程》——第2章 往舞台动态地添加对象2.1 创建库资源,并为它命名...

    本节书摘来自异步社区<ActionScript 3.0基础教程>一书中的第2章,第2.1节,作者: [美]Doug Winnie 更多章节内容可以访问云栖社区"异步社区" ...

  4. Flash ActionScript 2.0基础教程

    本文译者:egoldy文章出处: 文章性质:翻译 ActionScript 2.0-简介 随着FLASHMX2004的推出,Macromedia公司推出了一种新的脚本类型称为as2,在要教程中我们将要 ...

  5. Android程序开发0基础教程(一)

    程序猿学英语就上视觉英语网 Android程序开发0基础教程(一) 平台简单介绍 令人激动的Google手机操作系统平台-Android在2007年11月13日正式公布了,这是一个开放源码的操作系统, ...

  6. SMIL 2.0 基础教程[转]

    SMIL 2.0 基础教程[转] 转自:http://www.5d.cn/Tutorial/server/200205/1326.html 来源:5D多媒体 | 作者:litteruser ----- ...

  7. 今日头条自媒体搬运原创视频批量去水印消重包推荐0基础教程如何快速找素材进行伪原创-自媒体爆文之如...

    今日头条自媒体运营推广视频教程学习资料短视频运营从零到精通 今日头条趣东方头条凤凰新浪看点网易企鹅UC大鱼一点资讯自媒体快传视频处理软件 今日头条推广视频教程自媒体推广短视频教程今日头条引流小白入门 ...

  8. Flash ActionScript 3.0 动画教程 (高清PDF中文版下载)

    Flash ActionScript 3.0 动画教程 (高清PDF中文版下载) 转载于:https://www.cnblogs.com/gavinhughhu/archive/2010/09/21/ ...

  9. axrue9不显示右侧文件_Axure 9.0基础教程:史上最详细的元件说明,建议你认真看完(一)...

    元件说明摘要:元件作为Axure 9.0的基础功能,线框图的绘制与交互事件的设置都离不开它,熟练掌握并了解每个元件的功能及用途,对原型设计来说尤为重要.这是一篇细到令人发指的关于元件的使用说明,不仅有 ...

最新文章

  1. 2021年值得关注的5个RPA趋势
  2. 推荐php 8新特性比较好的两个网站
  3. php连接中文数据库乱码问题,如何解决php的数据库中文乱码问题
  4. jQuery使用ajax跨域请求获取数据
  5. 程序员如何保持身心健康,做到这几点,远离秃头。
  6. 包管理器_包管理器的演变
  7. 支付宝APP支付(基于Java实现支付宝APP支付)
  8. 海洋泡沫结点图完整分析
  9. 软件工程第一次作业2018
  10. linux kernel基本构成的内容有下列哪些项_Linux内核线程kernel thread详解
  11. [转载] Java构造方法、重载和重写
  12. strace ltrace使用
  13. 13-CSS基础-背景和精灵图
  14. paip.svn使用最佳实践
  15. .bat文件创建和编辑方法
  16. 打开本地html加载网页慢,浏览器打开网页很慢怎么回事_浏览器打开网页很慢如何解决...
  17. 女程序员是最好的语言 | 3·8特辑
  18. 《Spring Boot极简教程》附录2 编程的本质
  19. SQL group by和count
  20. 计算机节电模式,电脑节能模式怎么解除关闭步骤

热门文章

  1. VBA调用bat,doc 命令行 窗口关闭之后,VBA代码 再继续执行
  2. 关于Postgre中的Timestamp(时间戳)格式。
  3. 力扣题目——637. 二叉树的层平均值
  4. python3.6.1+selenium3.0环境安装问题及解决方法
  5. jsp页面之间传中文参数显示乱码问题的解决
  6. win7 中出现“为了配置TCP/IP,必须安装并启动网络适配卡“问题的解决办法
  7. swift 异常捕获try catch的使用
  8. 使用mysql悲观锁解决并发问题
  9. SpringBoot-文件在线预览解决方案-基于OpenOffice及jacob
  10. access性别字段_12、ACCESS数据表的筛选(ACCESS图解操作系列)