宜昌本地软件开发与弱电工程服务商
项目咨询 · 快速响应
您当前的位置: > 博客2 > AS2与AS3技术

AS3中的Stage控制

2016-10-13 00:16:48 点击量:18 标签: 收藏本文

  Stage 类代表主绘图区。 舞台表示显示 Flash  内容的整个区域。 无法以全局方式访问 Stage 对象。 而是需要利用 DisplayObject 实例的 stage 属性进行访问。

  stage对齐: align

  一个 StageAlign 类中指定舞台在 Flash Player 或浏览器中的对齐方式的值。 以下是有效值:

垂直对齐方式 水平对齐方式
StageAlign.TOP 顶对齐 居中对齐
StageAlign.BOTTOM 底对齐 居中对齐
StageAlign.LEFT 居中对齐 左对齐
StageAlign.RIGHT 居中对齐 右对齐
StageAlign.TOP_LEFT 顶对齐 左对齐
StageAlign.TOP_RIGHT 顶对齐 右对齐
StageAlign.BOTTOM_LEFT 底对齐 左对齐
StageAlign.BOTTOM_RIGHT 底对齐 右对齐

  使舞台左对齐顶对齐: stage.align = StageAlign.TOP_LEFT;

  使舞台左对齐顶对齐: stage.align = StageAlign.TOP_LEFT;

  stage缩放属性: scaleMode

  一个 StageScaleMode 类中指定要使用哪种缩放模式的值。 以下是有效值:

  StageScaleMode.EXACT_FIT -- 整个 Flash 应用程序在指定区域中可见,且不发生扭曲,同时保持应用程序的原始高宽比。 应用程序的两侧可能会显示边框。
  StageScaleMode.SHOW_ALL -- 整个 Flash 应用程序在指定区域中可见,但不尝试保持原始高宽比。 可能会发生扭曲。
  StageScaleMode.NO_BORDER -- 整个 Flash 应用程序填满指定区域,不发生扭曲,但有可能进行一些裁切,同时保持应用程序的原始高宽比。
  StageScaleMode.NO_SCALE -- 整个 Flash 应用程序的大小固定,因此,即使播放器窗口的大小更改,它也会保持不变。 如果播放器窗口比内容小,则可能进行一些裁切。
  ex. stage.scaleMode = StageScaleMode.NO_SCALE;

  fullScreen事件

  若要启用全屏模式,请将 allowFullScreen 参数添加到包含 SWF 文件的 HTML 页中的 object 和 embed 标签,同时将 allowFullScreen 设置为 "true",如下例所示:

  <param name="allowFullScreen" value="true" />

  给swf增加一个全屏按钮: fullBt
  代码如下:

  1. fullBt.addEventListener(MouseEvent.CLICK,fullscreenshow);  
  2. function fullscreenshow(evt:MouseEvent):void {  
  3. switch (stage.displayState) {  
  4. case "normal" :  
  5. stage.displayState = "fullScreen";  
  6. break;  
  7. case "fullScreen" :  
  8. default :  
  9. stage.displayState = "normal";  
  10. break;  
  11. }  

  特别强调resize事件

  resize事件,可以用来制作自适就尺寸的swf,当swf的播放窗口size改变,触发该事件。

ex.

  1. package {  
  2. import flash.display.Sprite;  
  3. import flash.display.StageAlign;  
  4. import flash.display.StageScaleMode;  
  5. import flash.events.Event;  
  6. public class StageExample extends Sprite {  
  7. public function StageExample() {  
  8. stage.scaleMode = StageScaleMode.NO_SCALE;  
  9. stage.align = StageAlign.TOP_LEFT;  
  10. stage.addEventListener(Event.ACTIVATE, activateHandler);  
  11. stage.addEventListener(Event.RESIZE, resizeHandler);  
  12. }  
  13. private function activateHandler(event:Event):void {  
  14. trace("activateHandler: " + event);  
  15. }  
  16. private function resizeHandler(event:Event):void {  
  17. trace("resizeHandler: " + event);  
  18. trace("stageWidth: " + stage.stageWidth + " stageHeight: " + stage.stageHeight);  
  19. }  
  20. }  

 

ABOUT US
宜昌农人网络科技有限公司

我们是一家提供综合软件外包与弱电工程服务的技术公司。

业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。

公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室