【问题标题】:How to make an ArrayList of enemy objects in Swift如何在 Swift 中创建敌人对象的 ArrayList
【发布时间】:2018-03-17 05:20:24
【问题描述】:

我正在尝试快速编写游戏代码,我希望能够跟踪敌人的位置、Heath 等。就像在 Java 中一样,它就像声明一个类型的数组列表一样简单,比如说,敌人,然后用 forloop 填充它,或者当我想添加一个敌人时。但是我到处都在寻找有关该主题的帮助,但我没有找到我的游戏运行所需的东西。任何帮助将非常感激。非常感谢!

【问题讨论】:

  • 你并不真正想要一堆敌人。而是使用 SKSpriteNode 的子类,并让敌人的每个实例跟踪自己的健康状况。位置是精灵的属性,因此您也不必跟踪它。除非您有非常真实的理由将每个敌人保留在自己的数组中,否则 children 数组作为场景的属性,或者您可以使用 enumerateChildNodes 来处理符合您条件的所有节点。最后,对于碰撞和接触事件,Sprike-Kit 会将指针传递给所涉及的精灵。
  • 我想我不完全明白如何去做。如果你能给我指出一个很好的例子或发布一个,那将非常有帮助。再次感谢您
  • SO 不是一个教程网站,但 www.raywenderlich.com 上有一些出色的 Sprite-Kit 教程。如果你是认真的,我推荐他的 2D Apple Games 书籍和示例,价格约为 50 美元。

标签: xcode swift3 sprite-kit


【解决方案1】:

Swift 和 Java 一样有集合。您可以创建一个对象数组,如下所示:

var someInts = [Int]()
someInts.append(3)

使用示例,将 Int 更改为敌人对象的类型。然后,您需要使用 for 循环进行迭代以检索(或存储)更多对象。

这里有更多关于 Swift 集合的信息(还包括如何遍历它们):

https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/CollectionTypes.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-21
    • 2011-05-21
    • 2015-05-04
    • 2017-10-04
    • 2019-11-29
    • 1970-01-01
    相关资源
    最近更新 更多