在 Flash 中创建可重复的、外观随机的对象分布

Posted

技术标签:

【中文标题】在 Flash 中创建可重复的、外观随机的对象分布【英文标题】:Creating a repeatable, random looking distribution of objects in Flash 【发布时间】:2010-12-21 11:47:52 【问题描述】:

我正在尝试使用 Actionscript 3 将电影剪辑散布在舞台周围,看起来好像它们是随机放置在那里的,就像散布在桌面上的照片一样。

我尝试使用螺旋式排列,但发现它太均匀,也是圆形分布,但发现太随机。

另一个因素是我希望 mc 的位置是可重复的,这样当用户返回到 flash 电影时,他们能够找到他们上次所在的剪辑。

有人对这类东西有任何专业知识/建议吗?

【问题讨论】:

【参考方案1】:

关键是拥有一个PRNG,您可以设置它的种子值。

我认为 AS3 没有任何方法可以为 Math.random() 设置种子,但是通过快速的网络搜索可以找到一些自定义 PRNG 的结果。

至于分布,你必须多玩。您不喜欢“循环分配”的哪些方面?

请记住,您可以使用许多不同的随机数分布——除了均匀分布——使用均匀分布和一些函数。

【讨论】:

不错。一。谢谢!是的,我需要一个种子 prng。我发现格兰特斯金纳在这里谈论一个:gskinner.com/blog/archives/2008/01/source_code_see.html,这很方便。我发现圆形分布有点聚集在中心周围,但我想我可以调整它来控制它,并尽量避免重叠,这也很重要。欢呼【参考方案2】:

我尝试使用螺旋型 排列,但觉得太统一了, 还有一个循环分布,但是 发现太随意了

我认为您需要更仔细地考虑这一点。显然,没有“太随意”这样的事情。有些东西要么是随机的,要么不是。

您真正想要的是一些不可预测(对最终用户而言)、可重复且美观的布局。

【讨论】:

【参考方案3】:

为简单起见,您可以对 x 和 y 位置使用随机数。这应该会给你一个分散的外观。

它们可以重叠吗?如果没有,在生成随机数后,您可以查看该位置是否会与屏幕上的其他位置重叠。

【讨论】:

以上是关于在 Flash 中创建可重复的、外观随机的对象分布的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Java 中创建可拖动对象?

如何在 React 中创建可排序的表?如何从排序的对象访问类方法?

在 Python - 3.x 中创建可迭代的自定义对象后,有没有办法防止无限循环?

如何在JSF中创建可重用的组件?

如何在 WPF 中创建可扩展的 Moebius-strip?

在嵌入式C中创建可迭代的寄存器列表