AS3常用代码整理及细节优化注意

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大小设置

         [SWF(width="760",height="650",backgroundColor="#BCCFDD",frameRate="24")]
     6 flex 获取浏览器地址
        private function getUrl():void{
                bm=BrowserManager.getInstance();
                bm.init(); 
                var str:String = bm.url;
                Alert.show(str);
         }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值