Я бы хотел использовать эффекты частиц (и, возможно, некоторые другие вещи) в SpriteKit, но мое приложение в основном основано на UIKit. Создает ли среда SpriteKit создание сцены с прозрачным фоном, который я могу разместить поверх своей иерархии представления UIKit?Можно ли добавить сцену SpriteKit с прозрачным BG поверх иерархии представления uikit?
ответ
Короткий ответ - нет. Вы можете добавить SKView (подкласс UIView) в свою иерархию представлений и установить свою сцену в свой собственный SKScene. Но SKView имеет свойство backgroundcolor, которое не может быть ясным (по умолчанию серый). Кажется возможным в OSX mavericks, так что, надеюсь, яблоко добавит эту возможность и в iOS.
Если ваше приложение в основном внедрено в UIKit, Sprite Kit, вероятно, не лучший способ получить сильные визуальные эффекты. Некоторые альтернативы:
- Основная анимация обеспечивает систему частиц в классе
CAEmitterLayer
. - UIKit имеет dynamic, physics-based behaviors для анимации элементов пользовательского интерфейса.
Начиная с iOS 8, Apple добавила эту способность: см. SKView.allowsTransparency
.
https://developer.apple.com/documentation/spritekit/skview/1519697-allowstransparency
По умолчанию значение false
, уступая черный прямоугольник фона вы видите; но установите его на true
, установите его цвет фона на .clear
, и он отлично компонет поверх содержимого UIKit.
Дополнительная информация: Removing Background of SKView - Particle Emitter - SpriteKit