Управление альфа-свойством против добавления / удаления узла

Если я хочу, чтобы узел или узлы (в данном случае "панель" с двумя "кнопками", например, узел, представляющий панель, и еще два узла на этой панели, представляющие кнопки) появлялись и были доступны для вызова действий (с помощью кнопок, использующих touchesBegan ()), я, кажется, могу сделать это, создав узлы (цветовые спрайты) в моей сцене.sks и используя alpha = 0/1. Я также могу сделать это программно, создав узел в классе.swift и используя функции.addChild () /. RemoveFromParent ().

Являются ли эти взаимозаменяемые подходы или есть опасность использования альфа, поскольку узлы все еще присутствуют, хотя и не видны?

1 ответ

Решение

В спрайтекит hidden а также alpha свойства равны 0 в качестве значения по умолчанию.

От Apple относительно скрытых объектов

объекты не отображаются. Однако они все еще существуют на сцене и продолжают взаимодействовать с ней другими способами.

Так что это то же самое, что создать объект и не добавлять его к родителю.

Просто запустив тест на объекте, который был обнаружен в touchesBegan FUNC.

Когда объект имел .alpha = 0 это все еще было обнаружено в touchesBegan

Когда объект был создан, но не добавлен к родителю, он все еще был обнаружен в touchesBegan

Поэтому я думаю, что оба метода сопоставимы

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

Другие вопросы по тегам