【问题标题】:How to create a pattern randomly without overlapping? Flash AS3如何在不重叠的情况下随机创建图案?闪存 AS3
【发布时间】:2010-09-07 08:29:43
【问题描述】:

我还是个flash新手……还在努力学习AS3 atm

我有一些不同形状的影片剪辑,我想用这些影片剪辑制作一个图案。我已经使用 Math.random 函数分配了这些影片剪辑的 x y 坐标。但是,形状总是重叠,我该怎么做才能避免呢?有人建议我可以将剪辑随机化后添加到列表中,然后定义其他电影剪辑无法放置的区域。但是,如何在 AS3 中定义该区域?我曾尝试进行 hitTest,但我不太确定如果它检测到命中我该怎么办,因为它有可能会命中另一个形状。希望大家能帮帮我!非常感谢!

【问题讨论】:

    标签: flash actionscript-3


    【解决方案1】:

    在 flex 中使用它:

    http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/spark/components/TileGroup.html

    然后在 Flash 中寻找一些新的布局。

    【讨论】:

      【解决方案2】:

      这是功能的基本版本,只有 2 个形状,您可以通过创建一个形状数组并循环查找每个新形状是否与其他形状相撞来扩展它

      var shape1:Shape1 = new Shape1();
      形状1.x = 0;
      形状1.y = 0;
      addChild(shape1);
      
      var shape2:Shape1 = new Shape1();
      形状2.x = 0;
      形状2.y = 0;
      addChild(shape2);
      
      而(shape1.hitTestObject(shape2))
      {
          shape2.x = Math.random() * stage.stageWidth;
          shape2.y = Math.random() * stage.stageHeight;
      }

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多