·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

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

时间:2011-09-22 16:37CuPlayer.com
As3.0常用类:Fullbackground(全屏背景),将代码另存为FullBackground.as文件,此类需要两个参数,一个是舞台引用,另一个是url即背景图像的地址,打开flash cs3新建一个影片,在第一帧中输入代码:

 

  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");

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器