J'essaie de créer un corps physique pour un noeud de sprite qui est uniquement pour le contour du noeud de sprite. Pour cela, j'ai essayé d'utiliser edgeLoopFromRect. Cependant, lorsque j'essaie, le corps de la physique ne correspond pas à la position du noeud de l'image-objet. Par exemple, le nœud de sprite serait au centre de l'écran, et son corps physique serait dans le coin supérieur de l'écran (voir image - le contour du corps de la physique ne montre que le coin, comme certains sont hors de l'écran). Je veux l'utiliser pour créer le contour d'une zone de jeu, qui agira comme un pensionnaire pour l'objet à contacter pour le jeu terminé.Swift, SpriteKit: position du corps physique incorrecte pour SpriteNode lors de l'utilisation de edgeLoopFromRect
Voici mon code:
//Physic Body Outline Test
let screenS = SKSpriteNode(imageNamed: "TestImage")
screenS.size = CGSize(width: 100, height: 100)
screenS.position = CGPoint(x: self.size.width/2, y: self.size.height/2)
screenS.physicsBody = SKPhysicsBody(edgeLoopFrom: screenS.frame)
screenS.physicsBody!.affectedByGravity = false
self.addChild(screenS)
Pourquoi la position si loin? Qu'est-ce que je fais mal? Est-ce la même approche correcte pour mettre en place un plan de corps physique pour une zone de jeu?
Merci! : D
Pouvez-vous poster une capture d'écran montrant le sprite et le physicsBody? –
"Je veux utiliser ceci pour créer les contours d'une zone de jeu, qui agira comme une bordure pour l'objet avec lequel entrer en contact" - vous voulez que le contour de l'image-objet soit la frontière avec laquelle l'image-objet doit entrer en contact? Sprtes ont généralement des corps de physique de volume-base; les corps basés sur les arêtes sont utilisés pour les limites, etc., mais vous utilisez généralement l'image de la scène pour empêcher l'image-objet de sortir de l'écran. –