У меня есть SKScene с именем GameScene. Обычно, когда я работаю в этом классе, я могу добавить дочерние узлы в представление с помощью: self.addChild(...)
Однако я хочу добавить узел из другого класса. Я попробовал GameScene().addChild(...)
, но это, похоже, не сработало. Какие-либо предложения?Как добавить узел в представление из другого класса в Swift
ответ
Вам нужно получить текущий экземпляр игровой сцены, чтобы добавить к нему детей. GameScene()
- это просто метод, который инициализирует новую сцену, но не имеет ничего общего с текущей сценой, которую вы используете.
Вместо этого вы можете вернуться в место, где оно было инициализировано (вероятно, в контроллере просмотра), и инициализировать там другой класс (тот, из которого вы хотите добавить детей). Измените конструктор так, чтобы вы могли пройти в этом экземпляре GameScene и сохранить его как свойство/переменную класса, из которого вы хотите позвонить. Затем используйте его как переменные и добавьте все нужные вам дети.
Попробуйте это в вашем файле, где узел должен быть добавлен:
addChild(OtherClass().functionWhereYouAddTheNodes())
Это работало для меня.
Железная дорога.
- 1. Как использовать представление, сгенерированное из другого класса?
- 2. Представление SKSpritenode из другого класса («addChild»)
- 3. Как добавить узел в представление дерева динамически?
- 4. Как добавить представление в контроллер супер класса?
- 5. Как добавить спрайт из другого .swift-файла?
- 6. Вызов функции из другого класса в Swift
- 7. Вызвать func из другого класса в swift
- 8. Как добавить узел в дочерний узел другого узла в FXML?
- 9. как вызвать добавить представление из класса NSObject
- 10. Представление модального представления из другого класса (MFMailComposeViewController)
- 11. iPhone обновить представление из другого класса
- 12. Django как добавить значение из модели в представление другого приложения?
- 13. функция вызова из другого класса swift
- 14. Добавить JButton в JPanel из другого класса
- 15. Добавить вид из другого класса
- 16. добавить объект в arraylist из другого класса
- 17. Как перезагрузить CollectionViewCells из другого класса в Swift
- 18. Доступ к переменной типа класса из другого класса в swift
- 19. Добавить элемент в ListView из другого класса
- 20. добавить список из другого класса
- 21. добавить панель в кадр из другого класса?
- 22. Swift: Вызов UIButton пресса из другого класса
- 23. Добавить jtextarea из другого класса
- 24. Доступ к ViewController класса из другого класса в Swift
- 25. Добавить элемент в UICollectionView из другого другого CollectionView (Swift)
- 26. Добавить изображение внутри scrollView из другого класса?
- 27. Как добавить объект из другого класса
- 28. Как добавить данные в список из Tkinter из другого класса?
- 29. Как вызвать другой метод из другого класса в swift?
- 30. Как мне вызвать метод из другого класса в Swift?
'GameScene()' создает ** новую ** GameScene. Вероятно, вы захотите сохранить свою ссылку на существующую сцену. – jtbandes
Не могли бы вы прояснить ситуацию? Почему вы хотите добавить узлы, даже не будучи в GameScene? – dannybess