所以我对SpriteKit和Swift非常陌生,并且我不太了解节点背后的概念(或者对于这个问题,在sprite-kit中的任何东西)。我要求你向我解释节点的概念。了解SpriteKit节点的概念
我更习惯于为每个节点创建一个不同的变量实例(比如创建一个数组),这使我能够非常明确地引用任何单个节点。然而,在sprite工具包中,这似乎并不是这种情况,因为您只需创建一次,然后使用addChild调用它的多个实例即可。 (比我一直在做的更好......)
这有点让我难以想象,因为我主要不明白我如何测试一个场景或者其他东西,或者单独引用它们。例如,我试图得到一个对象从现场移除与removeFromParent()
,但我不如何实现这样的:
if(enemy.position.x == 0)
{
SKAction.removeFromParent()
}
之前,我会为循环设置一个,检查每一个敌人但这是超效率的。我想我会在物理引擎提供的更新方法中做到这一点,但就像我说我不知道如何调用它。
所以我的问题基本上是让你向我解释这里发生了什么的概念。假装我完全不了解这类编程知识(我几乎不知道这一点),如果你能把它分解给我,就像我五岁那样会很棒:D!
谢谢!
SO不是教程网站,它是一个特定问题和答案的网站,如果你想了解SpriteKit,我建议你看看http://www.raywenderlich.com/ – Knight0fDragon
@ KnightOfDragon - 我无法反驳更多。 SO是这种性质问题的理想场所。这里有大量的编码员愿意传授他们的知识。 SO需要以主要方式减仓。 – zeeple
本质上,你不必跟踪每个节点(在一个数组等),因为当一个节点涉及到一些有趣的事情(碰撞,触及某事,某人用手指触摸它等)时,你的代码将被传递涉及有趣事件的节点。对于'enemy.position.x == 0'示例,可以使用enumerateChildNodeswithName来检查每个节点的位置;或者你可以设置一个碰撞检测的边界,并在敌人到达那个位置时得到通知。或者你可以继承敌人,让所有的敌人检查自己的位置等等 –