2016-05-22 17 views
0

Dies ist im Grunde der Code ich versuche, Bilder oder Feinde mit und ich möchte sie löschen, aber nicht alle auf einmal berühren nur eines der gleichen Bilder, die berührt wurde. Das Bild bewegt sich auch für den Fall, dass jemand es wissen muss.schnelle Syntax Löschen eines Bildes mit UITouch

import SpriteKit 
import UIKit 

class GameScene: SKScene { 
    override func didMoveToView(view: SKView) { 
     let myLabel = SKLabelNode(fontNamed:"chalkduster ") 
     myLabel.text = "HELLO WORLD" 
     myLabel.fontsize = 45 
     myLabel.position = CGPoint(x:CGRectGetMidx(self.frame), y:CGRectGetMidy(self.frame)) 
     self.addChild(myLabel) 
    } 
    func SpawnEnemies(){ 
     let Enemy = SKSpriteNode(imageNamed: "Enemy.png") 
     let MinValue = self.size.width /8 
     let MaxValue = self.size.width -158 
     let spawnPoint = UInt32(MaxValue- MinValue) 
     Enemy.runAction(SKAction.sequence([action, actionDone])) 
     self.addChild(Enemy) 
    } 
    func touchesEnded(touches: NSSet, withEvent event: UIEvent?) { 
     for touch in touches { 
      _ = touch.locationInNode(self) 
      let touch = touches.anyobject() as! UITouch? 
      if let location = touch?.locationInNode(self) 
      { 
       for _ in self.nodeAtPoint(location) 
       { 
        if let Enemy.name == (name., "SpawnEnemies" { 
          Enemy.removeFromParent() 
        } 
       } 
      } 
     } 
    } 
    func update(currentTime: CFTimeInterval) { 
    } 

Antwort

0

der Regel auf die Eigenschaften mit Groß nennen es als eine schlechte Haltung betrachtet hat, sollten Sie Feind statt Feind verwenden

versuchen, diesen Ansatz:

override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) { 

     /* Called when a touch begins */ 

     let touch = touches.first 
     let positionInScene = touch!.locationInNode(self) 

     let touchedNode = self.nodeAtPoint(positionInScene) 

     if let name = touchedNode.name 
     { 
      if name == "SpawnEnemies1" { // try to get a different name for each of your enemy 
       Enemy.removeFromParent() 
      } else 
      if name == "SpawnEnemies666" { // this is the big boss 
       // do some awesome animation.. 
       Enemy.removeFromParent() 
      } else 
      if name == "title" 
      { 
       print("title touched") 
       // do whatever you want with title, removing or using it 
      } else 
      if name == "credits" 
      { 
       print("credits touched") 
      } else 
      ... 
     } 
}