职场文秘网

首页 > 心得体会 > 工作体会 / 正文

2023年Flash显示编程-ActionScript从入门到精通教程六3篇(完整文档)

2023-01-25 13:35:08

Flash显示编程-ActionScript从入门到精通教程(六1  ActionScript3.0中的显示编程用于处理出现在AdobeFlashPlayer9的舞台上的元素。本  章介绍了有关处理下面是小编为大家整理的2023年Flash显示编程-ActionScript从入门到精通教程六3篇(完整文档),供大家参考。

2023年Flash显示编程-ActionScript从入门到精通教程六3篇(完整文档)

Flash显示编程-ActionScript从入门到精通教程(六1

  ActionScript3.0中的显示编程用于处理出现在Adobe Flash Player 9的舞台上的元素。 本

  章介绍了有关处理屏幕元素的一些基本概念。

  每个应用程序都有一个由显示对象构成的层次结构,这个结构称为 “显示列表” 。

  显示列表包含应用程序中的所有可视元素。

  显示元素属于下列一个或多个组:

Flash显示编程-ActionScript从入门到精通教程(六2

  该图说明了显示对象类的类继承。请注意,其中某些类,尤其是 StaticText、 TextField和

  Video 类,不在 flash.display 包中,但它们仍然是从 DisplayObject 类继承的。

  Bitmap — 使用 Bitmap 类可定义从外部文件加载或通过 ActionScript 呈现的位图对

  象。可以通过 Loader 类从外部文件加载位图。可以加载 GIF、JPG 或 PNG 文件。还

  可以创建包含自定义数据的 BitmapData 对象,然后创建使用该数据的 Bitmap 对象。可

  以使用 BitmapData 类的方法来更改位图,无论这些位图是加载的还是在 ActionScript

  中创建的。

  Loader — 使用 Loader 类可加载外部资源 (SWF 文件或图形) 。

  Shape — 使用 Shape 类可创建矢量图形,如矩形、直线、圆等。

  SimpleButton 对象是Flash按钮元件的ActionScript表示形式。SimpleButton 实例有3个按钮状态:弹起、按下和指针经过。

  Sprite — Sprite对象可以包含它自己的图形,还可以包含子显示对象。 (Sprite 类用于扩展 DisplayObjectContainer 类) 。

  MovieClip — MovieClip 对象是在 Flash 创作工具中创建的 ActionScript 形式的影片

  剪辑元件。实际上,MovieClip与Sprite对象类似,不同的是它还有一个时间轴。

  TextField 类包括在flash.text包中,它是用于文本显示和输入的显示对象。

  Video类包括在 flash.media包中,它是用于显示视频文件的显示对象。

  Stage类用于扩展DisplayObjectContainer类。有一个应用程序的Stage实例,该实例位于显示列表层次结构的顶部。

Flash显示编程-ActionScript从入门到精通教程(六3

  StageScaleMode.EXACT_FIT 按比例缩放 SWF。

  StageScaleMode.SHOW_ALL 确定是否显示边框 (就像在标准电视上观看宽屏电影时显

  示的黑条) 。

  StageScaleMode.NO_BORDER 确定是否可以部分裁切内容。

  处理全屏模式

  使用全屏模式可令 SWF 填充查看器的整个显示器,没有任何边框、菜单栏等。Stage 类的

  displayState 属性用于切换 SWF 的全屏模式。可以将 displayState 属性设置为由

  flash.display.StageDisplayState 类中的常量定义的其中一个值。要打开全屏模式,请将

  displayState 设置为 StageDisplayState.FULL_SCREEN:

  // mySprite 是一个 Sprite 实例,已添加到显示列表中

  mySprite.stage.displayState = StageDisplayState.FULL_SCREEN;

  要退出全屏模式,请将 displayState 属性设置为 StageDisplayState.NORMAL:

  mySprite.stage.displayState = StageDisplayState.NORMAL;

  此外,用户可以通过将焦点切换到其它窗口或使用以下组合键之一来选择退出全屏模式:

  Esc(所有*台) 、Ctrl-W (Windows)、Command-W (Mac) 或 Alt-F4 (Windows)。

  全屏模式的舞台缩放行为与正常模式下的相同;缩放比例由 Stage 类的 scaleMode 属性控制。

  通常,如果将 scaleMode 属性设置为 StageScaleMode.NO_SCALE,则 Stage 的 stageWidth 和

  stageHeight 属性将发生更改,以反映由 SWF 占用的屏幕区域的大小 (在本例中为整个

  屏幕)。

  打开或关闭全屏模式时,可以使用 Stage 类的 fullScreen 事件来检测和响应。例如,进入

  或退出全屏模式时,您可能需要重新定位、添加或删除屏幕中的项目,如本例中所示:

  import flash.events.FullScreenEvent;

  function fullScreenRedraw(event:FullScreenEvent):void

  {

  if (event.fullScreen)

  {

  // 删除输入文本字段。

  // 添加关闭全屏模式的按钮。

  }

  else

  {

  // 重新添加输入文本字段。

  // 删除关闭全屏模式的按钮。

  }

  }

  mySprite.stage.addEventListener(FullScreenEvent.FULL_SCREEN,

  fullScreenRedraw);

  正如此代码所示,fullScreen 事件的事件对象是 flash.events.FullScreenEvent 类的实例,

  它包含指示是启用 (true) 还是禁用 (false) 全屏模式的 fullScreen 属性。

  在 ActionScript 中处理全屏模式时,需要记住以下注意事项:

  只能通过 ActionScript 响应鼠标单击 (包括右键单击)或按键才能启动全屏模式。

  对于有多个显示器的用户,SWF 内容将展开且只填充一个显示器。Flash Player 使用度

  量信息来确定哪个显示器包含 SWF 的最大部分内容,然后使用该显示器提供全屏模式。

  对于 HTML 页中嵌入的 SWF 文件,嵌入 Flash Player 的 HTML 代码必须包括名为

  allowFullScreen 且值为 true 的 param 标签和 embed 属性,如下所示:

  ...

  

  如果要在网页中使用 JavaScript 来生成 SWF 嵌入标签,则必须更改 JavaScript 以添加

  allowFullScreen param 标签和属性。例如,如果 HTML 页使用 AC_FL_RunContent()

  函数(由 Flex Builder 和 Flash 生成的 HTML 页使用),则应在该函数调用中添加

  allowFullScreen 参数,如下所示:

  AC_FL_RunContent(

  ...

  "allowFullScreen","true",

  ...

  ); //end AC code

  这不适用于在独立 Flash Player 中运行的 SWF 文件。

  在全屏模式下将禁用所有与键盘有关的 ActionScript,如 Te x tFi e ld 实例中的键盘事件

  和文本输入。用于关闭全屏模式的键盘快捷键除外。

  选择DisplayObject子类

  如果有多个可供选择的选项,处理显示对象时要作出的一个重要决策是:每个显示对象的用

  途是什么。 以下原则可以帮助您作出决策。 无论是需要类实例,还是选择要创建的类的基类,

  都可以应用这些建议:

  如果不需要可作为其它显示对象的容器的对象(即只需要用作独立屏幕元素的对象) ,请

  根据使用目的选择 DisplayObject 或 InteractiveObject 两个子类中的一个:

  用于显示位图图像的 Bitmap。

  用于添加文本的 TextField。

  用于显示视频的 Video。

  ■ 用于绘制屏幕内容的 “画布”的 Shape。特别是,如果要创建用于在屏幕上绘制形

  状的实例,而且该实例不是其它显示对象的容器,则使用 Shape 比使用 Sprite 或

  MovieClip 有明显的性能优势。

  ■ 用于 Flash 具体创作项的 MorphShape、StaticText 或 SimpleButton。 (无法以编

  程方式创建这些类的实例,但可以通过创建这些数据类型的变量来引用使用 Flash 创

  作程序创建的项目。 )

  ■ 如果需要使用变量来引用主舞台,请使用 Stage 类作为其数据类型。

  ■ 如果需要容器来加载外部 SWF 文件或图像文件,请使用 Loader 实例。加载的内容将作为

  Loader 实例的子级添加到显示列表中。其数据类型将取决于加载内容的性质,如下所示:

  ■ 加载的图像将是 Bitmap 实例。

  ■ 使用 ActionScript 3.0 编写的已加载 SWF 文件将是 Sprite 或 MovieClip 实例

  (或这些类的子类的实例,由内容创建者指定) 。

  ■ 使用 ActionScript 1.0 或 ActionScript 2.0 编写的已加载 SWF 文件将是

  AVM1Movie 实例。

  ■ 如果需要将一个对象用作其它显示对象的容器(无论是否还要使用 ActionScript 在显示

  对象上进行绘制) ,请选择其中一个 DisplayObjectContainer 子类:

  ■ 如果对象是只使用 ActionScript 创建的,或者如果对象作为只使用 ActionScript 创

  建和处理的自定义显示对象的基类,请选择 Sprite。

  ■ 如果要通过创建变量来引用在 Flash 创作工具中创建的影片剪辑元件,请选择 MovieClip。

  如果要创建的类与 Flash 库中的影片剪辑元件关联,请选择其中一个

  DisplayObjectContainer 子类作为该类的基类:

  如果关联的影片剪辑元件在多个帧上有内容,请选择MovieClip

  如果关联的影片剪辑元件仅在第一帧上有内容,请选择Sprite

Tags:

搜索
网站分类
标签列表