Я хочу создать узел слева и справа, чтобы при касании их птица летела влево или вправо.Пожалуйста, помогите мне О UITouch (SpriteKit)
Сначала я создал узел птицы
Затем я создал тестовый узел
var groundleft = SKSpriteNode() groundleft.position = CGPoint(x: 0, y: 50) groundleft.size = CGSize(width: 500, height: 100) groundleft.color = UIColor(red: 7, green: 5, blue: 7, alpha: 20) groundleft.physicsBody = SKPhysicsBody(rectangleOfSize: CGSizeMake(self.size.width, 100)) groundleft.physicsBody?.dynamic = false groundleft.zPosition = 0.5 groundleft.name = "toleft"
Тогда я реализовал touchesBegan
override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) { let touch = touches.first as! UITouch let touchLocation = touch.locationInNode(self) let touchedNode = self.nodeAtPoint(touchLocation) if(touchedNode.name == "toleft"){ bird.physicsBody?.velocity = CGVectorMake(0, 0) bird.physicsBody?.applyImpulse(CGVectorMake(-10, 100)) } }
Почему не это работает?
Вы создали свойство physWorld? – mert