Ios 跟踪节点行中的第一个节点
我已经将我的游戏设置为从底部重复添加相同的节点,并使用不同的纹理向上移动到屏幕顶部。我需要一种方法来跟踪始终位于这一行节点前面的节点。因此,如果原始的第一个节点被删除,它后面的那个节点将取代它作为第一个节点,我可以跟踪它。这是我用来创建节点行的代码。任何帮助都将不胜感激 编辑:我试着制作一个SKNode并将其放置在球的上方以检查其名称,但它只返回nilIos 跟踪节点行中的第一个节点,ios,swift,sprite-kit,Ios,Swift,Sprite Kit,我已经将我的游戏设置为从底部重复添加相同的节点,并使用不同的纹理向上移动到屏幕顶部。我需要一种方法来跟踪始终位于这一行节点前面的节点。因此,如果原始的第一个节点被删除,它后面的那个节点将取代它作为第一个节点,我可以跟踪它。这是我用来创建节点行的代码。任何帮助都将不胜感激 编辑:我试着制作一个SKNode并将其放置在球的上方以检查其名称,但它只返回nil class GameScene: SKScene { var aboveNode = SKNode() override func d
class GameScene: SKScene {
var aboveNode = SKNode()
override func didMoveToView(view: SKView) {
var create = SKAction.runBlock({() in self.createBottomTargets()})
var wait = SKAction.waitForDuration(2)
var createAndWait = SKAction.repeatActionForever(SKAction.sequence([create, wait]))
self.runAction(createAndWait, withKey: "firstBottom")
}
override func update(currentTime: NSTimeInterval) {
println("\(aboveNode.name)")
}
func createBottomTargets() {
ball = SKSpriteNode(imageNamed: "blue1")
ball.position = CGPoint(x: frame.size.width / 2, y: -50)
ball.texture = textures[random]
self.addChild(ball)
let move = SKAction.moveByX(0, y: 1400, duration: 18)
let remove = SKAction.removeFromParent()
ball.runAction(SKAction.sequence([move, remove]))
aboveNode.position = CGPoint(x: ball.position.x, y: ball.position.y + 163)
}
}
根据游戏的其他部分的工作方式,您可以对其进行设置,以便每个后续节点都是其之前节点的子节点。这样子节点将与其父节点一起移动。设想这样设置一个垂直的节点堆栈,每个节点都有50像素高。每个节点都有一个[0,50]的本地位置,以将其放置在其父节点的顶部。如果删除底部节点并将其子节点添加回场景,则所有子节点都会向下移动,因为它们的位置相对于父节点。谢谢您的建议,但我无法这样做,因为这会干扰其他一些代码。我在我的问题中添加了一些我尝试过的东西,也许你会知道答案