WEB开发网
开发学院图形图像Flash As3.0常用类:Fullbackground(全屏背景) 阅读

As3.0常用类:Fullbackground(全屏背景)

 2012-02-06 12:14:08 来源:本站整理   
核心提示:package { import flash.display.Sprite; import flash.display.Stage; import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.
  1. package {  
  2.  import flash.display.Sprite;  
  3.  import flash.display.Stage;  
  4.  import flash.display.StageAlign;  
  5.  import flash.display.StageScaleMode;  
  6.  import flash.display.Bitmap;  
  7.  
  8.  import flash.display.Loader;  
  9.  import flash.net.URLRequest;  
  10.  import flash.events.*;  
  11.  import flash.text.TextField;  
  12.   import flash.text.TextFieldAutoSize;  
  13.  
  14.  
  15.  public class FullBackground {  
  16.  private var stage:Stage;  
  17.  private var _imageHolder:Sprite;  
  18.  private var _bitmap:Bitmap;  
  19.  
  20.  private var _loader:Loader;  
  21.  private var _urlReqest:URLRequest;  
  22.  private var loadProgress_txt:TextField;  
  23.  private var percent:Number;  
  24.  
  25.  
  26.  function FullBackground(stageRef:Stage, url:String) {  
  27.   //设置舞台  
  28.   stage = stageRef;  
  29.   stage.scaleMode = StageScaleMode.NO_SCALE;  
  30.   stage.align = StageAlign.TOP_LEFT;  
  31.   stage.addEventListener(Event.RESIZE, stageResized);  
  32.  
  33.   //载入图像  
  34.   _loader = new Loader();  
  35.   _urlReqest = new URLRequest(url);  
  36.  
  37.   _loader.load(_urlReqest);  
  38.   _loader.contentLoaderInfo.addEventListener(Event.OPEN,showPreloader);  
  39.   _loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,showProgress);  
  40.   _loader.contentLoaderInfo.addEventListener(Event.COMPLETE,showLoadResult);  
  41.   loadProgress_txtnew TextField();  
  42.       loadProgress_txt.autoSize=TextFieldAutoSize.LEFT;  
  43.  }  
  44.  private function showProgress(event:ProgressEvent):void {  
  45.   //preloader ready  
  46.   trace("progressHandler: bytesLoaded=" + event.bytesLoaded 

    + "
     bytesTotal=" + event.bytesTotal);  
  47.   percent = Math.round((event.bytesLoaded/event.bytesTotal)*100);  
  48.   loadProgress_txt.text = percent + "%";  
  49.   stage.addChild(loadProgress_txt);  
  50.  
  51.  }  
  52.  private function showPreloader(event:Event):void {  
  53.   trace("show preloader");  
  54.     
  55.  }  
  56.  //完成载入显示图像  
  57.  private function showLoadResult(event:Event):void {  
  58.   trace(_loader.contentLoaderInfo);  
  59.   var loader:Loader = Loader(event.target.loader);  
  60.   _bitmap = Bitmap(loader.content);  
  61.   _imageHolder = new Sprite();  
  62.  
  63.   _bitmap.y -_bitmap.height;  
  64.   _bitmap.smoothing = true;  
  65.   stage.addChild(_imageHolder);  
  66.   _imageHolder.addChild(_bitmap);  
  67.  
  68.   //检查缩放并调整  
  69.   _imageHolder.width = stage.stageWidth;  
  70.   _imageHolder_imageHolder.scaleY = _imageHolder.scaleX;  
  71.  
  72.   if (_imageHolder.height < stage.stageHeight) {  
  73.   _imageHolder.height = stage.stageHeight;  
  74.   _imageHolder_imageHolder.scaleX = _imageHolder.scaleY;  
  75.   }  
  76.   _imageHolder.y = stage.stageHeight;  
  77.  }  
  78.  //stageResized 事件  
  79.  private function stageResized(event:Event):void {  
  80.   _imageHolder.width = stage.stageWidth;  
  81.   _imageHolder_imageHolder.scaleY = _imageHolder.scaleX;  
  82.   if (_imageHolder.height < stage.stageHeight) {  
  83.   _imageHolder.height = stage.stageHeight;  
  84.   _imageHolder_imageHolder.scaleX = _imageHolder.scaleY;  
  85.   }  
  86.   _imageHolder.y = stage.stageHeight;  
  87.  }  
  88.  }  

将代码另存为FullBackground.as文件,此类需要两个参数,一个是舞台引用,另一个是url即背景图像的地址,打开flash cs3新建一个影片,在第一帧中输入代码:

import FullBackground;
var testfullbackground = new FullBackground(stage,"1280_800.jpg");

Tags:As 常用 Fullbackground

编辑录入:coldstar [复制链接] [打 印]
赞助商链接