2010-12-21 56 views
0

alt text如何使用Actionscript 3创建如下所示的gridview?

每个盒子都是一个可点击的标签,点击时可以切换颜色。

标签的总数是动态的。

如何用纯动作3创建这样的网格视图?

+0

我想我们需要更多的信息在这里...... ActionScript是一种语言。你还没有指定你的工具包。在谈论Flash吗?柔性?您是否问过没有任何控件的情况下如何做到这一点,比如Flex所提供的?我认为我们需要更多信息。 – 2010-12-21 15:50:02

回答

0

如果我是你,我会创造一个Box类为他们:)然后延伸Sprite和坐标 - 管理容器

0

比方说,每个盒子都有自己的班级,以设计你的看法,你将需要几个参数,如:

  • 数每个标签之间
  • 水平&垂直填充列。

如果您的标签存储在一个Vector或一个数组中,那么您将遍历包含您的标签的任何内容,以便将它们放置在舞台上。

这里的想法是保持尽可能灵活,所以无论您使用什么功能来放置标签,最好将上述参数保留为变量。

典型用途是:

 private function createGrid 
      (numColumns:int , hPadding:int , vPadding:int):void 
    { 
     var xPos:int; 
     var yPos:int; 

     for(var i:int ; i < labels.length ; ++i) 
     { 
      var label:YourLabel = labels[i]; 

      if(i % numColumns == 0 && i > 0) 
      { 
       //reset the x position & increment the y position 
       //in order to move to the next line 
       xPos = 0; 
       yPos += vPadding; 

      }else if(i > 0) { 

       xPos += hPadding; //increment the x position 
      } 

      label.x = xPos; 
      label.y = yPos; 

      addChild(label); 
     } 
    } 

当然你也可以修改这个在很多方面,比方说,你要考虑到标签的尺寸,或者创建一些补间放置在舞台上的标签,你会以不同的方式处理这个功能...

相关问题