菜鸟教程小白 发表于 2022-12-12 15:24:17

ios - 如何在 iPhone 游戏中实现半随机关卡?


                                            <p><p>我想创建一个关卡结构类似于 iCopter 或 Canabalt 的游戏,其中每个关卡都有一个随机的楼层(和屋顶),但从前一个楼层的高度永远不可能达到。我也不确定如何不断增加难度。我已经广泛搜索教程或类似的东西,但我找不到任何东西。有人可以帮忙吗?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>说实话,这听起来太具体了,需要成为教程的主题。我玩过 Canabalt 但没玩过 iCopter,所以我会谈谈像前者这样的游戏。</p>

<p>您可以使用各种微积分方程来计算加速度和重力,从而精确计算出平台必须在哪里才能到达,但我怀疑您可以使用更简单的近似值来做同样的事情。如果您的所有平台都具有最小长度,那么您可以假设玩家在到达终点时能够达到的速度是合理的。这与您的跳跃算法使某人在空中停留的时间长短相结合,决定了另一个相同高度的平台可能并且仍然可以到达的最大距离。</p>

<p>您可以到达的最高平台通常由您的跳跃算法决定 - 这可以是一个恒定的高度,也可以与速度成正比,但无论哪种方式,您都可以轻松估算出最后可以进行的最高合理跳跃任何给定平台的。这为您提供了您可以从那里到达的最大相对高度。</p>

<p>假设你的物理是相当逼真的,并且当玩家在空中时你施加一个恒定的向下力,跳跃的顶点将在中点附近。因此,一个平台相对于玩家而言是可达到的最大高度,其距离必须是同一级别平台距离的一半。为了在两者之间找到合理的相对高度和距离组合,您可以进行线性插值。</p>

<p>您下方的平台显然更宽松 - 它们可能比同一级别的平台更远,距离大致与您的行驶速度成正比。</p>

<p>然后一个简单的算法是在每个阶段选择一个更高或更低的平台,从可达到的范围内选择一个相对高度,然后找到它需要的距离。</p>

<p>要调整难度,您可以从上面的这些相对高度和距离值开始,它们代表了可能的极端情况,并按比例减少它们以使跳跃更容易完成。我可能会从 50% 的减少开始,+/-10%(随机)以提供一些更艰难的跳跃。然后随着游戏的进行,我会慢慢地将 50% 降低到 0,这样玩家的错误余地就会越来越小。 </p>

<p>编辑:自从我发布了这个答案后,我发现了另一个可能有用的有趣来源:<a href="http://eis-blog.ucsc.edu/2010/09/a-probabilistic-multi-pass-level-generator/" rel="noreferrer noopener nofollow">A Probabilistic Multi-Pass Level Generator</a> .尽管所讨论的游戏不同(我不认识的马里奥游戏之一),但在将平台放置在合理的高度和距离方面,许多原则是相似的。提供了 Java 代码。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何在 iPhone 游戏中实现半随机关卡?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/3183117/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/3183117/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何在 iPhone 游戏中实现半随机关卡?