2017-05-23 4 views
1

J'essaie d'ajouter plusieurs instances de mon objet (balle) afin que le joueur puisse tirer sur la balle et ensuite tirer une autre balle. J'utilise le code suivant mais il me donne une erreur sigbart de signal 1 de fil. Quelqu'un peut-il s'il vous plaît expliquer ce qui ne va pas avec le code? Merci!Ajout de plusieurs instances d'objets spritekit swift 3

+0

aussi la balle est un SKSpriteNode et est un sprite de couleur, pas une image – c3pNoah

+1

À quoi fait référence "bullett"? Créez-vous un nouvel objet bullett chaque fois que cet extrait de code est exécuté? – Leo

+0

Vous devez afficher la partie de votre code où vous créez la puce. – TheValyreanGroup

Répondre

0

si vous ajoutez plusieurs fois SKSprite, une erreur se produirait.

Ce que vous devez faire est de créer un SKSpritenode à ajouter à chaque fois. Vous pouvez avoir une fonction pour faire créer des puces eachtime

func addBullet(){ 

var bullet = SKSpriteNode(imagenamed: "bullet") 
bullet.position = //Give the point of origin as CGPoint. Maybe same as the shooter.. 
addChild(bullet) 
bullet.run(SKAction.moveTo(y: self.frame.height, duration: 2)) 

} 

Donc, chaque fois que vous appelez addBullet(), peut-être en touches ont commencé, vous pouvez créer une nouvelle balle qui se déplace à la fin de l'écran sans accident. Le point principal est donc: var bullet = SKSpriteNode (imagenamed: "bullet") pour chaque addChild.