Создавайте новый спрайт каждый раз, когда заканчивается касание - PullRequest
0 голосов
/ 30 апреля 2020

Я играю, пытаясь научиться быстро, и пытаюсь размещать кирпичный спрайт каждый раз, когда заканчивается касание человека. Я новичок и не совсем уверен, если или как это возможно с spriteKit. Я хотел бы, чтобы кирпич взаимодействовал с физикой, поэтому, если есть другой способ сделать это без создания новых спрайтов, которые также будут работать

1 Ответ

0 голосов
/ 01 мая 2020

Просто добавьте метод touchesEnded в свой класс, создайте новый SpriteNode и добавьте его в свою сцену. Примерно так:

func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
   let yourNode = SKSpriteNode(imageNamed: "brick.png") //or the name of the brick texture file, if you have one
   yourNode.position = CGPoint(x: 100, y: 100) 
   self.addChild(yourNode)
}

Здесь мы добавили узел к (100,100), но вы могли бы добавить его к месту касания, добавив это внутри метода:

for touch in touches {
    let location = touch.location(in: self)
    yourNode.position = location
} 

Не забудьте импортировать SpriteKit в ваш класс.

...