Chciałbym skorzystać z efektów cząsteczkowych (i może trochę innych rzeczy) w SpriteKit, ale moja aplikacja jest głównie zakorzeniona w UIKit. Czy framework SpriteKit umożliwia utworzenie sceny z przezroczystym tłem, które można umieścić na szczycie mojej hierarchii widoków UIKit?Czy jest możliwe dodanie sceny SpriteKit z przezroczystym BG na szczycie hierarchii widoku uikit?
Odpowiedz
Krótka odpowiedź brzmi: nie. Możesz dodać SKView (podklasę UIView) do swojej hierarchii widoków i ustawić jej scenę na własną SKScene. Ale SKView ma właściwość koloru tła, która nie może być jasna (domyślnie jest szara). Wydaje się możliwe w pojedynczych OSX, więc mam nadzieję, że Apple doda tę możliwość również w iOS.
Jeśli Twoja aplikacja jest w dużej mierze osadzona w UIKit, Sprite Kit prawdopodobnie nie jest najlepszym sposobem na uzyskanie efektownych efektów wizualnych. Niektóre alternatywy:
- Core Animation dostarcza system cząsteczek w klasie
CAEmitterLayer
. - UIKit ma dynamic, physics-based behaviors do animowania elementów interfejsu użytkownika.
Od wersji iOS 8 firma Apple dodała tę funkcję: patrz SKView.allowsTransparency
.
https://developer.apple.com/documentation/spritekit/skview/1519697-allowstransparency
It domyślnie false
, uzyskując czarny prostokąt w tle widoczny; ale ustaw go na true
, ustaw kolor tła na .clear
, a kompozyty nad zawartością UIKit w porządku.
Dalsze informacje: Removing Background of SKView - Particle Emitter - SpriteKit