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