Corona SDK (Lua) 如何动态/随机生成关卡

发布于 2024-12-02 06:24:57 字数 346 浏览 1 评论 0原文

就像在这个应用程序中一样。

http://www.youtube.com/watch?v=FdaTyLrNYOo

我看到了精灵保持在同一 x 轴上并且水平仪向左移动。

platform = display.newRect(0,500,400,10)
physics.addBody(platform, "static")
platform.rotation = 0

^那是为了创建一个平台。

平台是如何即时生成的?

Like in this app.

http://www.youtube.com/watch?v=FdaTyLrNYOo

I see the sprite is kept on the same x axis and the level moves to the left.

platform = display.newRect(0,500,400,10)
physics.addBody(platform, "static")
platform.rotation = 0

^that is for creating one platform.

how is the platform generated on-the-fly?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

﹎☆浅夏丿初晴 2024-12-09 06:24:57

这个问题最好不要在代码级别上解决,而是在更高的设计级别上解决。您已经考虑过要使用哪种算法来创建平台。

有多种选项,每种选项都有特定的优缺点:

  • 完全随机:您可以使用完全随机的平台高度和长度。这很容易实现,但结果也是随机的,可能无法解决。

  • 正弦波:您可以使用sin()函数为您的关卡生成变化的高度。这也很容易实现,并且与随机相比可能会产生更好的游戏结果。危险在于它可能太容易玩而变得无聊。

当然,您可以使用组合技术或任何其他类型的数字生成器。

This problem is best not addressed on the code level but on a higher design level. You have think through what kind of algorithm you want to use to create the platforms.

There are several options, each with specific pros and cons:

  • Completely random: You can use completely random platform heights and lengths. This is easy to implement but the results are also random and might be impossible to solve.

  • Sine waves: You could use the sin() function to generate altering heights for your level. This is also easy to implement and might produce better gameplay results compared to the random. The danger is that it might be too easy to play and become boring.

Of course you can use a combined technique or any other sort of number generator.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文