日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

AS3工程中的Loading的应用

發(fā)布時間:2024/4/17 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AS3工程中的Loading的应用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天又來介紹Loading...(-_-!!!...好像整天都介紹Loading..希望沒誤導各位...)
首先..由于AS工程沒有幀..所以不能用常用的方法來做Loading..
這里介紹的方法使用元標簽Frame(應該是元標簽吧?還是叫元數據標簽)
網上對Frame的介紹是...使用指定的類替換文檔類...
并把其它的東西都丟到了該類的第二幀...
概念就不多說了...英文好的可以看看這個文章...http://www.bit-101.com/blog/?p=946
?

Preloader類

package
{
import flash.display.DisplayObject;
import flash.display.MovieClip;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.events.ProgressEvent;
import flash.text.TextField;
import flash.text.TextFormat;
import flash.utils.getDefinitionByName;
/**
? ? ?
* 加載類,由于原內容會放到此類的第二幀~所以需要使用MovieClip;
? ? ?
* @author L4cd.Net
? ? ?
*/

public class Preloader extends MovieClip
{
? ?
[Embed(source="l4cd_48_48.jpg")]
? ?
private var LogoClass:Class;
? ?
private var text:TextField;
? ?
public function Preloader()
? ?
{
//不多說了
stage
.scaleMode = StageScaleMode.NO_SCALE;
stage
.showDefaultContextMenu = false;
//顯示一張圖片..非必要
with(addChild(new LogoClass()))
{
? ? ? ? ? ?
x
=(500-48)/2;
? ? ? ? ? ?
y
=(380-48)/2;
}
//加一個textField顯示進度
text
= addChild(new TextField()) as TextField;
with(text)
{
? ? ? ? ? ?
defaultTextFormat
= new TextFormat("宋體",12,0,null,null,null,null,null,"center");
? ? ? ? ? ?
mouseEnabled
= false;
? ? ? ? ? ?
height
= 16;
? ? ? ? ? ?
x
= (500-100)/2;
? ? ? ? ? ?
y
= 35+(380-15)/2;
}
//重要~偵聽~
loaderInfo
.addEventListener(ProgressEvent.PROGRESS,progress);
loaderInfo
.addEventListener(Event.COMPLETE,complete);
? ?
}
? ?
//顯示進度
? ?
private function progress(e:ProgressEvent):void
? ?
{
text
.text = (e.bytesLoaded/e.bytesTotal*100).toFixed(2)+"% Loaded";
? ?
}
? ?
private function complete(e:Event):void
? ?
{
//重要..加載完后...我們跳轉到第二幀
gotoAndStop
(2);
//獲取文檔類...然后顯示,對于此步操作..有多種方法..有人習慣直接把原文檔類addChild到此類當中..
var mainClass:Class = Class(getDefinitionByName("AsProjectLoadingExample"));
stage
.addChild(new mainClass() as DisplayObject);
//刪除此類
destroy
();
? ?
}
? ?
private function destroy():void
? ?
{
loaderInfo
.removeEventListener(ProgressEvent.PROGRESS,progress);
loaderInfo
.removeEventListener(Event.COMPLETE,complete);
parent
.removeChild(this);
? ?
}
}
}

?

AsProjectLoadingExample類

package {
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Sprite;
import flash.geom.Matrix;
?
?
[SWF(width="500",height="380",backgroundColor="#FFFFFF",frameRate="24")]
//注意此行,Preloader為類名
[Frame(factoryClass="Preloader")]
public class AsProjectLoadingExample extends Sprite
{
? ?
[Embed(source="CD艷照.png")]
? ?
private var ImageClass:Class;
? ?
//嵌入一個2M的文件以顯示加載效果
? ?
[Embed(source="something.wma",mimeType="application/octet-stream")]
? ?
private var SomeClass:Class;
? ?
public function AsProjectLoadingExample()
? ?
{
//馬賽格ing...
var bmp:Bitmap = new ImageClass();
var bit:BitmapData = new BitmapData(bmp.width/10,bmp.height/10,true,0);
bit
.draw(bmp,new Matrix(.1,0,0,.1));
with (addChild(new Bitmap(bit)))
{
? ? ? ? ? ?
scaleX
= scaleY = 10;
}
? ?
}
}
}

轉載于:https://www.cnblogs.com/top5/archive/2009/08/01/1536623.html

總結

以上是生活随笔為你收集整理的AS3工程中的Loading的应用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。