快速业务通道

《 Essential ActionScript 2.0 》中文精华版 第 13 期

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-12


说明:周日休息,停发一期。大家也整理一下两周以来所学知识,温故知新嘛! 大家可以到置顶索引贴中下载最新译文!

4.6 Completing the Box Class (完整的Box类) 通过本章我们学习了Box类的例子。在现实世界中,我们的Box类可能是纯概念上的(即,永远不显示在屏幕上)也可能是一种直观表示。由于大多数Flash应用程序都是可见的,因此我们将总结本章,来看一看如何使一个Box实例显示在屏幕上。 并非所有的Flash应用程序都以同一种方式在屏幕上显示内容。每个应用程序必须决定如何绘制屏幕、何时绘制、以及哪个类或者哪些类包含绘制代码。当设计一个应用程序系统时,主要应考虑以下几个问题: ? 首先决定显示的元素是否是自己渲染(render themselves)或是通过一个中心类渲染(be rendered by a central class)。例如,是为Box类提供一个自己的drawBox( )方法,还是在其他的某个类中有一个drawBoxes( )drawScreen( )方法? ? 决定时隔多久更新一次显示的元素——或者当某些事件放生时(例如一次鼠标点击)或者反复刷新(于Flash Player的帧速一致)。 ? 决定渲染技术(rendering technique)。Flash影片中的每个可见元素必须显示在一个影片剪辑中。然而,影片剪辑可以在创作时手工放置或者在运行时使用ActionScript添加到舞台上。一个影片剪辑的内容同样可以使用MovieClip绘图API勾勒出来。 ? 决定屏幕刷新策略。将每个可见元素作为一个单独表示的影片剪辑(有规律地更新)来维护,或者在显示更新时将舞台上的全部内容统统清除、然后从新创建? 在我们的例子中,由Box类来负责其屏幕显示。当创建一个Box实例时,我们将添加一个空的影片剪辑(命名为container_mc),在那上面来绘制我们的Box实例。如果Box实例调整尺寸,我们将重新绘制container_mc中的内容。为了移动Box实例,我们将移动container_mc,而不是在container_mc中移动Box实例。这是我们免于重新绘制container_mc中的内容。 我们的Box显示策略是唯一的运行时策略(runtime-only strategy)。在Flash Player中出现的每个Box实例,在编辑一个.fla文件时都不能被放置到舞台上。在第十三章,我们将看到如何创建一个可见的类,在运行时以及在Flash创作工具中都可以将实例放置到舞台上。 例如4-6 给出了一个Box类的最终的、完全的、包括屏幕显示代码的样子,请注意以下几点: ? widthheight属性(不是伪属性) ? 存取器getWidth( )getHeight( ) 方法(不是gettersetter方法) 以下内容对于这个版本的Box类而言是完全陌生的: ? container_mc属性,存储一个用于绘制Box图形的影片剪辑的引用 ? 存取器方法getX( ), setX( ), getY( ), setY( ),用于取得并设置container_mc影片剪辑的位置 ? draw( )方法,用于在container_mc影片剪辑中绘制Box图形 最后,以下内容在这个版本的Box类中已经被改变: ? 构造函数使用了额外的参数,如下:xy指定container_mc的初始水平和垂直位置;target指定container_mc影片剪辑添加到哪个影片剪辑中去;depth指定添加的深度。 ? 在设置Box实例的高度和宽度后,setHeight( )setWidth( )方法调用draw( )。(注意,存取器方法的灵活度为我们提供了:我们改变我们的类如何工作,而无须改变如何去使用它)。 详细的注释将帮助我们学习代码。 例4-6 一个具有完整绘图程序的Box类 class Box {
// Box 的尺寸
private var width:Number;
private var height:Number;
// 用于包含Box实例直观表示

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号