我正在使用Sprite Kit制作游戏,我希望能够在屏幕上沿着方向拖拽框。拖放同一个精灵的孩子
下面是代码的要点:我在计时器上产生了盒子,然后他们在屏幕上向下移动。
override func didMoveToView(view: SKView) {
let timer = NSTimer.scheduledTimerWithTimeInterval(2.0, target: self, selector: Selector("spawnBox"), userInfo: nil, repeats: true)
}
func spawnBox() {
/* Set up the box */
addChild(box)
let boxMoveDown = SKAction.moveToY(-100, duration: 5.0)
let actionDone = SKAction.removeFromParent()
box.runAction(SKAction.sequence([boxMoveDown, actionDone]))
}
但问题是我怎么能打动特定孩子这我不影响其他所有的“孩子”摸?我明白,目前,每次我产生一个盒子时,它都完全一样,所以当我设置一个孩子的位置时,我不能具体。
这里是里面有什么我的touchesBegan和touchesMoved功能
if let touch = touches.first {
let location = touch.locationInNode(self)
let objects = nodesAtPoint(location) as [SKNode]
if objects.contains(nodeAtPoint(location)) && nodeAtPoint(location).name == "box" {
box.position = location
box.removeAllActions()
}
}
的 - box.position = location
是什么 需要改变。
希望你能理解我的想法。我试图保持包含代码的必要。我对Sprite Kit非常陌生,你可以说。
当您检测到选择了一个节点时,您需要删除使节点向下移动的“SKAction”。 – 0x141E