2014-12-10 1 views
1

Мне по-прежнему не удобно пользоваться функциями func.быстрые штрихи - как отличить объекты

Я могу использовать его, и он работает нормально, но мне нужно понять его, чтобы продолжить работу с моим проектом.

Может кто-то, пожалуйста, помогите мне понять, как я могу определить, какой объект был затронут? Я действительно хочу, чтобы понять, что происходит в будущем я могу сделать то распределительным заявление, основываясь на типе объекта, который прикоснулся ...

Так вот типичный код, который я использую:

override func touchesMoved(touches: NSSet, withEvent event: UIEvent) { 
var touch : UITouch! = touches.anyObject() as UITouch 

и вот что я хочу быть в состоянии сделать:

switch touch { 
case SKSpriteNode 
    .... 
case SKLabelNode 
    .... 
case SKNode 
    ... 

and so on... 

Наверное, не правильно, но это объясняет, почему я хочу, чтобы при том, как быть в состоянии захватить информацию, передаваемую на касания FUNC. Пожалуйста, укажите мне в правильном направлении :-D

ответ

0

Существует на самом деле раздел об этом в документации UITouch:

Working with touch events in SpriteKit.

Вы можете получить местонахождение с locationInNode, а затем выяснить, что находится в этом месте с nodeAtPoint.

+0

Thanx, теперь, выполнив 'println (" \ (nodeAtPoint (location)) ")' Я могу видеть, какой именно узел. Отлично! Но как я могу сделать заявление зависимым от типа узла? Это не сработало: 'если nodeAtPoint (location) == SKLabelNode' (либо« SKlabelNode »). – Kjetil

+0

Используйте ключевое слово Swift' is' для проверки класса. Не забывайте поднимать и принимать ответ, если это вам помогло. – Mundi

+0

Это сработало! Не удалось повышать (у меня меньше 15 повторений), извините ... – Kjetil