• 【设为首页】
  • 【收藏闪客居】
当前位置:主页>FLASH AS 编程>AS基础篇>AS 3.0>文章内容
  • [AS3]IconDataManager-图标数据管理类

  • 来源:Kinglong's blog 作者:Kinglong 2007-09-22 【

[AS3]IconDataManager-图标数据管理类
【功能说明】:一些常用图标数据管理,不需要额外的图片文件来支持。图标数据都是按照一定的算法存储起来,可方便显示。
【运行平台】:Flash CS3,ActionScript3,Flash Player 9 +
【功能演示】:

【类源文件】:

【算法说明】:
    图标数据存储数据是采用数组或字符串形式保存的;
    例如 var arr:Array = [4,3,3,0x000000,1,1,1,1,0,1,1,1,1] ;
    arr[0]:为元数据(类似于文件头)的长度;
    arr[1]:为图标的宽度;
    arr[2]:为图标的高度;
    arr[3]:为图标颜色值;颜色值部分可以为多个,但元数据的长度要相应的增加。
    arr[4]~:从此数据以后为要显示图标数据矩阵。
                  0表示此点阵无颜色(就是透明) ,1表示第一个颜色值的序号(可叫做颜色索引值),如果颜色值很多的话,序号则相应递增。
【演示代码】:

     
  1. package project.test {     
  2.     import flash.display.*;    
  3.     import com.klstudio.display.IconDataManager;   
  4.     public class Test9 extends Sprite{         
  5.         private var _arr:Array;   
  6.         private var _dx:uint;   
  7.         private var _dy:uint;   
  8.         private var _mh:uint;   
  9.         public function Test9(){   
  10.             _dx = 10;   
  11.             _dy = 10;   
  12.             _mh = 0;   
  13.                
  14.             _arr = ["maximize","minimize","deoxidize","close","resize","prev","next",   
  15.                     "first","end","miniArrow","arrow","cursor_stop","cursor_white_arrow",   
  16.                     "cursor_black_arrow","cursor_cut","cursor_pen","cursor_paint","cursor_scale_small",   
  17.                     "cursor_scale_big","cursor_hand","cursor_hand_down","cursor_box_move",   
  18.                     "cursor_control_move","cursor_control_positive","cursor_control_oblique"];   
  19.             for(var i:uint=0;i<_arr.length;i++){   
  20.                 var bmp:Bitmap = IconDataManager.getIcon(_arr[i]);   
  21.                 if(_dx + 10 > 300){   
  22.                     _dx = 10;   
  23.                     _dy += _mh + 10;   
  24.                 }   
  25.                 bmp.x = _dx;   
  26.                 bmp.y = _dy;   
  27.                 addChild(bmp);   
  28.                 _dx += bmp.width+10;   
  29.                 if(_mh < bmp.height){   
  30.                     _mh = bmp.height;   
  31.                 }   
  32.             }   
  33.         }   
  34.     }      
  35. }  

  



上一篇:AS3中不同类间的广播与接收简单例子(包含参数传递)   下一篇:AS3日积月累(1)-AS3的面向对象特点概述
  • 用户名:新注册) 密码: 匿名评论
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)

Copyright © 2006-2008 flashas.net All Rights Reserved.
网站内容咨询: admin#flashas.net (#为@) 联系QQ:40777822 浙ICP备06033001号
(本网站最佳浏览解析度为1024*768, 建议使用IE 6.0或以上版本浏览器。)