Как сделать след за моим персонажем в SpriteKit?

99
9

Я использую SpriteKit (с Xcode 6 и Swift), и у меня есть персонаж на экране, который я перемещаю с помощью джойстиков на экране, и мне нужно немного следить за ним. Как мне это сделать?

enter image description here

Насколько большой был бы мой образ, и на что он должен был бы выглядеть? И что бы я использовал в своем коде?

спросил(а) 2014-08-18T20:27:00+04:00 6 лет, 2 месяца назад
1
Решение
140

Вы должны взглянуть на SKEmitterNode; он будет "испускать" частицы, которые вы можете использовать в качестве своего тропа. Вы можете спроектировать внешний вид ваших частиц прямо в Xcode, добавив в свой проект "Файл частиц SpriteKit":

new particle file

Затем вы загрузите файл частиц в новый SKEmitterNode следующим образом:

let emitter = SKEmitterNode(fileNamed: "CharacterParticle.sks")

Затем вам нужно будет установить свойство SKEmitterNode targetNode в свой SKScene чтобы частицы, которые он SKScene, не перемещались с вашим персонажем (т.е. они оставляют след):

emitter.targetNode = scene

Затем добавьте свой emitter к вашему персонажу SKNode. Предположим, у вас есть SKNode для вашего персонажа, который называется character, в этом случае код будет просто:

character.addChild(emitter)

Как правило, это будет сделано в вашем методе настройки сцены (в шаблоне Apple SpriteKit, обычно в didMoveToView). Это также можно сделать в пользовательском SKNode или SKSpriteNode, если он у вас есть. Если вы поместите его в didMoveToView, он будет выглядеть примерно так:

override func didMoveToView(view: SKView) {
// ... any character or other node setup ...

let emitter = SKEmitterNode(fileNamed: "CharacterParticle.sks")
emitter.targetNode = self
character.addChild(emitter)

// ... any other setup ...
}

ответил(а) 2014-08-18T20:36:00+04:00 6 лет, 2 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема