gpt4 book ai didi

ios - 在 SpriteKit 中生成随机地形

转载 作者:行者123 更新时间:2023-12-01 18:39:53 30 4
gpt4 key购买 nike

首先我想提一下,我对游戏或 SpriteKit 框架没有深入的了解(但是,我有很好的编程技能)。

我想为 iPhone 和 iPad 创建一个 2D 游戏。到目前为止,我知道我必须使用 SpriteKit。不过,这款游戏最重要的还是地形。我应该能够动态生成它,所以它会有曲线(但不是尖峰边缘),就像附加图像中的黑线一样。此外,我希望将地面的下部分为两个单独的层(一层薄薄的绿色模拟草,其余的一些棕色模拟泥土),但这是一件好事。

另外我想知道当某物(如炮弹)碰到它时,我怎样才能“爆炸”一小部分地面。

有人可以解释或指导我如何实现这一目标吗?

example of random generated ground

谢谢!

最佳答案

map 生成

您可以在这里尝试两种方法:

  • SKTileMapNode类(class) SpriteKit
  • CGPath CoreGraphics 中的类。

  • SpriteKit 方法

    首先看看 SpriteKit的瓦片 map 特征。有一个类叫 SKTileMapNode 这可以帮助您制作基于图 block 的侧 View 或自上而下的游戏世界 View 。

    Apple 在 2016 年 WWDC 上介绍了此功能, the session video是一个很好的起点。 Xcode 有一个很好的编辑器来设置你的瓦片 map ,包括特定瓦片的变体(称为“瓦片变体”)和向瓦片添加元数据。所有这些在这里都会有所帮助。

    您可以将预先构建的瓦片组定义为 SKTileGroup s,对于像山的两侧这样只有彼此相邻才有意义的事情。这样做可能很简单,然后生成一些随机组合。然后,您可以使用不同的变体来显示“爆炸”的图 block 。

    The preferred method to create tile groups is to use the editor tools in Xcode. However, should you wish to work with SpriteKit’s tile support programmatically, the following examples discuss the necessary steps.

    -- Apple Documentation, SKTileGroup



    因此,您可以使用 SKTileGroupRule 可以帮助您以编程方式定义有关将磁贴相对于彼此放置的位置的规则。

    这里是 a tutorial来自 Ray Wenderlich,带您了解基于图 block 的游戏的基础知识。这里是 another RayWenderlich.com tutorial讨论程序级别的生成。

    CGPath 方法

    This answer讨论了一个类似的情况,有人询问如何绘制用于 SpriteKit 的曲线。它显示了一些用于生成随机贝塞尔曲线的代码,并链接到 a second answer深入讨论 CoreGraphics 对贝塞尔曲线添加路径的处理。

    爆炸

    要爆炸瓷砖,请查看 SKEmitterNode . Xcode 包含一个发射器编辑器,你可以用它做一些很酷的事情。

    关于ios - 在 SpriteKit 中生成随机地形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44892419/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com