Название вопроса действительно говорит обо всем. Я пытаюсь связать элементы AppKit, такие как кнопки и другие элементы управления, в игру OS X SpriteKit. Я понимаю, что элементы AppKit можно разместить поверх SKScenes, но как это работает? Будет ли это обрабатываться через NSView? Как создать слой в SpriteKit или это отдельный процесс?Создание элементов AppKit в игре SpriteKit
ответ
Все элементы AppKit UI являются подклассами NSResponder и большинство из них подклассы NSView
Это означает, что, как и любой другой какао приложение, у вас есть очень много тот же ответчик цепи.
SpriteKit добавляет подклассы NSResponder на основе SKNode, и все они живут в SKView.
Вместе в одном окне все будет иметь одно и то же окно в цепочке ответчиков. Даже если элементы управления и представления находятся в отдельном окне или в меню в строке меню, все разделяет цепочку ответчиков. На некотором уровне к NSApplication.
Что вы действительно хотите сделать, это определить лучший пользовательский интерфейс. Но любой подкласс NSResponder может пересылать сообщения по цепочке. Пока это сообщение обрабатывается в цепочке, оно будет работать.
Это позволяет вам настроить методы IBAction в вашем делете делегата или оконном контроллере или даже контроллере представления и назначить эти селекторы методов как действия элементов управления. Цепочка-ответчик и что-то называемое nil-target messaging - это одни из самых фундаментальных и мощных шаблонов проектирования в Cocoa, которые поддерживаются природой Objective-C. Проведите некоторое время с документами Apple в цепочке ответчиков. Затем подумайте о простых приложениях с помощью кнопки или слайдера. Примените то же к своей игре.
- 1. Использование AppKit с SpriteKit
- 2. Использование SpriteKit в AppKit app swift
- 3. Пауза в игре SpriteKit
- 4. Прокрутить в spritekit игре
- 5. Расчет скорости в игре SpriteKit
- 6. Опыт игры в игре SpriteKit
- 7. сдерживающая пропорция элементов графического интерфейса в игре Spritekit
- 8. Swift & Spritekit: Создание склона
- 9. Изменение начальной сцены в игре spritekit
- 10. Как отключить второе касание в игре SpriteKit?
- 11. Размывание по краям изображения в игре SpriteKit
- 12. Чрезвычайно медленная частота кадров в игре SpriteKit
- 13. Как создать таймер здания в игре spritekit?
- 14. Высокое использование ЦП в игре SpriteKit
- 15. Создание огней в игре
- 16. Запуск функции при активной игре iOS - SpriteKit
- 17. SpriteKit: Создание крупье отскока
- 18. SpriteKit - Создание изменяющихся градиентов
- 19. Отладка EXC_BAD_ACCESS в AppKit
- 20. создание пулей в простой игре
- 21. Как мне сохранить «монеты» в моей игре в Swift SpriteKit?
- 22. Добавить UIView в заднюю часть сцены в игре SpriteKit
- 23. Почему SKNode не реагирует на прикосновение в игре SpriteKit?
- 24. Как освободить память в игре Spritekit после окончания SKScene
- 25. Объявление баннера в игре над сценой не работает - SpriteKit Swift
- 26. Как увеличить FPS в игре spritekit с большим количеством SKShapeNodes?
- 27. Как правильно приостановить движения спрайтов в игре SpriteKit?
- 28. Admob interstitial ad фатальная ошибка в игре iOS9, Swift, SpriteKit
- 29. Мне нужно реализовать таймер в моей игре SpriteKit?
- 30. Нужна помощь Интеграция межстраничных объявлений в игре Spritekit iOS
Извините, но я не знаю, когда дело доходит до этого. Я понимаю эту концепцию на высоком уровне, но не на уровне кода. Я не могу просто создать NSButton, например, и добавить его в качестве ребенка в свой SKScene? Пример кода был бы очень полезен. – 02fentym
№. Только SKNodes могут быть детьми SKNodes. Skscene - это SKNode. SKView - это специальный подкласс NSView, который немного знает о SKNodes. Вы всегда можете поместить представление в представление. – uchuugaka
Да, вот что я подумал. Программно, как бы я мог поместить представление (NSView?) Внутри SKView? – 02fentym