2016-10-13 3 views
7

Как отключить взаимодействие для дочернего узла?Добавить ярлык в SKSpriteNode без касания

Я добавляю ярлыки к буке спрайтов, под эгидой, описывая, что это такое. Сами спрайты являются осязаемыми и имеют код, который отвечает при касанииBegun и т. Д.

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

Но я не хочу, чтобы этикетки отвечали на прикосновения.

Я поставил метки на

myLabel.isUserInteractionEnabled = false 

Но это не имеет никакого значения, они все еще реагируют на ощупь, как будто они спрайт.

+0

Попробуйте 'label.isPaused = true'. Не знаю, будет ли это работать, но я чувствую, что он может что-то сделать ... – Nik

ответ

1

По умолчанию isUserInteractionEnabled является false того прикосновения к ребенку, как SKLabelNode есть, по умолчанию, простое прикосновение обрабатывается к главному (или родительскому) классу (объект здесь, существует, но если вы не реализуете любого действие, вы просто прикоснуться к ней)

Если вы установите userInteractionEnabled свойство истинной на наследнике SKNode то сенсорные делегаты под названием внутри этого конкретного класса. Итак, вы можете справиться с прикосновением к ярлыку (как к вашему случаю) в своем классе.

+0

Означает ли это, что обработка касания на ярлыке должна быть обработана и отклонена вручную, поскольку в противном случае (когда это взаимодействие отключено) это происходит в любом случае? – Confused

+0

Если вы не хотите нажимать на метку, вы должны обрабатывать основной родительский класс e вручную «отклонено», если вы имеете в виду «ничего не делать с ним». –

+0

Хорошо. Хорошо. Но как? Я вовсе не следую. – Confused

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