我正在使用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