AS3常用代碼整理
1 菱形.45度角地圖坐標計算公式
菱形.x=(j-i)*W/2 菱形.y=(j+i)*H/2
2 DisplayObjectContainer 鼠標事件注意
DisplayObjectContainer繼承了以下4個屬性有時候很沒必要,把他們false了會提升很多運算效率,特別對於Object超多的情 況下,鼠標動一 動,一冒泡,CPU馬上高起來.
DisplayObject.mouseEnabled = false;
DisplayObject.tabEnabled = false;
DisplayObject.mouseChildren = false;
DisplayObject.tabChildren = false;
3 奇數,偶數 判斷 奇數&1 = 0 偶數&1=1
4 圖片與二進制及字符相互換化 用於在網絡中發送與存儲數據
一:圖片轉字符
過程:DisplayObject>bitmapData>ByteArray>Base64>String
把圖片轉化爲二進制或字符,使用AS3自帶的JPEGEncoder和PNGEncoder,其中JPEG格式就算使用100%的品質在還原時還是
失真得比較 嚴重.
下面是把位圖的bitmapData數據轉化爲二進制數據,再輸出成字符串形式.
var bitmapData:BitmapData = new BitmapData(image.width,image.height);
bitmapData.draw(image);//轉 化爲BitmapData數據
var encoder:PNGEncoder = new PNGEncoder();//也可以使用JPEG格式 new JPEGEncoder(100)
var bytes:ByteArray=encoder.encode(bitmapData);//轉化爲二進制數據
var Base64:Base64Encoder=new Base64Encoder;//將字符串或 ByteArray 編碼爲 Base64 編碼的字符串。
var imageStr:String=Base64.toString();//輸出爲字符串
二:字符轉圖片
過程:String>Base64>ByteArray>Bitmap>DisplayObject
還原時,先使用Base64Decoder轉爲Base64編碼的ByteArray,再用Loader對象來讀取爲Bitmap,完成還原過程.
var spr:Sprite=new Sprite;
var Base64:Base64Decoder=new Base64Decoder;
Base64.decode(imageStr);//讀取字符串
var bytes:ByteArray=Base64.toByteArray();//轉化爲ByteArray數據
var load:Loader=new Loader();
load.loadBytes(bytes);//讀取 ByteArray
load.contentLoaderInfo.addEventListener(Event.COMPLETE, complete);
function complete(event:Event):void {
var bitMap:Bitmap=event.target.content as Bitmap;//讀取 Bitmap
spr.addChild(bitMap);
}
5 SWF大小設置
bm=BrowserManager.getInstance();
bm.init();
var str:String = bm.url;
Alert.show(str);
}