Управление альфа-свойством против добавления / удаления узла
Если я хочу, чтобы узел или узлы (в данном случае "панель" с двумя "кнопками", например, узел, представляющий панель, и еще два узла на этой панели, представляющие кнопки) появлялись и были доступны для вызова действий (с помощью кнопок, использующих touchesBegan ()), я, кажется, могу сделать это, создав узлы (цветовые спрайты) в моей сцене.sks и используя alpha = 0/1. Я также могу сделать это программно, создав узел в классе.swift и используя функции.addChild () /. RemoveFromParent ().
Являются ли эти взаимозаменяемые подходы или есть опасность использования альфа, поскольку узлы все еще присутствуют, хотя и не видны?
1 ответ
В спрайтекит hidden
а также alpha
свойства равны 0 в качестве значения по умолчанию.
От Apple относительно скрытых объектов
объекты не отображаются. Однако они все еще существуют на сцене и продолжают взаимодействовать с ней другими способами.
Так что это то же самое, что создать объект и не добавлять его к родителю.
Просто запустив тест на объекте, который был обнаружен в touchesBegan
FUNC.
Когда объект имел .alpha = 0
это все еще было обнаружено в touchesBegan
Когда объект был создан, но не добавлен к родителю, он все еще был обнаружен в touchesBegan
Поэтому я думаю, что оба метода сопоставимы
Правка> Я исправлен, они несопоставимы, пожалуйста, не стесняйтесь, чтобы отменить выбор моего ответа. Пожалуйста, комментарии, чтобы увидеть подводные камни использования альфа = 0