码迷,mamicode.com
首页 > 其他好文 > 详细

蜂窝式排列方式

时间:2015-08-27 10:44:28      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:

摘要:根据传入不同的参数,智能的显示蜂窝式布局,效果如下图:

技术分享技术分享

制作步骤:

1、在库中建一个mc 绑定名称为“myMC”  技术分享

2、建一个文档类,代码如下:

 1 package 
 2 {
 3     import flash.display.Sprite;
 4 
 5     /**
 6      * @author chb
 7      * @data 2015-8-26
 8      * @email 645338868@qq.com
 9      */
10 
11     public class ReseauLayout extends Sprite
12     {
13         private var container:Sprite;
14         public function ReseauLayout ()
15         {
16             init ();
17         }
18 
19         private function init ():void
20         {
21             container = new Sprite();
22             this.addChild (container);
23             container.x = stage.stageWidth * 0.5;
24             container.y = 200;
25             setLayout (15,175,3);
26         }
27         /*
28         *@param    _count 六边形的个数
29         *@param    itemW  六边形宽
30         *@param    gap    间隔
31         *@param    type   蜂窝的类型,一组多少个六边形
32         *@param    num    每一组中的编号
33         *
34         */
35 
36         private function setLayout (_count:Number,itemW:Number,gap:Number,type:Number = 3,num:Number = 1):void
37         {
38             if (_count > 10)
39             {
40                 type = 5;
41             }
42 
43             var itemY:Number = itemW * Math.cos(30*Math.PI/180);//表示每两个六边形之间的y轴差距
44             var itemX:Number = itemW * 0.5;//表示每两个六边形之间的x轴差距
45 
46             for (var i:Number = 0; i<_count; i++)
47             {
48                 var item:Sprite = new myMC();//六边形单元,库里面绑定
49                 container.addChild (item);
50                 var groupNum:Number = int(i/type);
51                 if (num == 1)
52                 {
53                     item.x = groupNum*(itemW+gap);
54                     item.y = itemY * 2;
55                 }
56                 else if (num == 2)
57                 {
58 
59                     item.x = itemW/2+groupNum*(itemW+gap);
60                     item.y = itemY * 2 - itemY - gap;
61 
62                 }
63                 else if (num == 3)
64                 {
65                     item.x = itemW/2+groupNum*(itemW+gap);
66                     item.y = itemY * 2 + itemY + gap;
67                 }
68                 else if (num == 4)
69                 {
70                     item.x = itemW/2+groupNum*(itemW+gap) + itemW/2 + gap;
71                     item.y = itemY * 2 - itemY * 2 - gap*2;
72                 }
73                 else if (num == 5)
74                 {
75                     item.x = itemW/2+groupNum*(itemW+3) + itemW/2 + gap;
76                     item.y = itemY * 2 + itemY * 2 + gap*2;
77                 }
78                 num++;
79                 if (num == (type+1))
80                 {
81                     num = 1;
82                 }
83             }
84         }
85 
86     }
87 
88 }

 

蜂窝式排列方式

标签:

原文地址:http://www.cnblogs.com/chen-mo/p/4762515.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!