2015-08-03 2 views
0

Есть ли способ получить доступ к свойству SKSpriteNode (его позиции) в методе update(), если он объявлен и инициирован в рамках определенного метода? У меня есть метод, называемый shootLaser(), что создает SKSpriteNode так:Получить позицию частного объекта в методе обновления

var laser = SKSpriteNode(imageNamed: "LaserDot.png") 

И мне нужно, чтобы выполнить действие, используя положение «лазер» каждый раз, когда кадр оказывается, и я знаю только делать это используя метод update().

ответ

2

Вы можете получить доступ к определенному узлу его name собственности:

laserNode.name = "laserNode" 

После этого, вы можете использовать childNodeWithName для доступа к определенному узлу по его имени:

let laserNode: SKSpriteNode = parentNode.childNodeWithName("laserNode") as SKSpriteNode 

или если лазер добавляется непосредственно к месту происшествия:

let laserNode: SKSpriteNode = childNodeWithName("laserNode") as SKSpriteNode 
+0

Метод update() не может найти какой-либо узел с этим именем /: – Lahav

+0

@Lahav Вы уверены, что правильно настроили laserNode.name на "laserNode", прежде чем добавить LaserNode в сцену (или какой-либо другой родительский узел)? – Whirlwind

+0

Да. Я думаю, что поскольку объект с именем «laserNode» является закрытым, «laserNode» не связан ни с чем за пределами метода – Lahav

Смежные вопросы