Tôi muốn tận dụng lợi thế của các hiệu ứng hạt (và có thể một số công cụ khác) trong SpriteKit nhưng ứng dụng của tôi chủ yếu là bắt nguồn từ UIKit. Khung SpriteKit có cho phép bạn tạo một cảnh có nền trong suốt mà tôi có thể đặt ở trên cùng của cấu trúc phân cấp xem UIKit không?Có thể thêm cảnh SpriteKit với BG trong suốt ở trên cùng của phân cấp chế độ xem uikit không?
Trả lời
Câu trả lời ngắn gọn là không. Bạn có thể thêm SKView (phân lớp của UIView) vào phân cấp khung nhìn của bạn và đặt khung cảnh của nó thành SKScene của riêng bạn. Nhưng SKView có thuộc tính backgroundcolor không thể rõ ràng (mặc định là màu xám). Có vẻ như có thể trong mavericks OSX, vì vậy hy vọng táo sẽ thêm khả năng này trong iOS là tốt.
Nếu ứng dụng của bạn chủ yếu là bắt nguồn từ UIKit, bộ Sprite có lẽ không phải là cách tốt nhất để có được hiệu ứng hình ảnh mạnh mẽ. Một số lựa chọn thay thế:
- Hoạt ảnh chính cung cấp hệ thống hạt trong lớp
CAEmitterLayer
. - UIKit có dynamic, physics-based behaviors để làm hoạt ảnh cho các yếu tố giao diện người dùng.
Kể từ iOS 8, Apple đã thêm khả năng này: xem SKView.allowsTransparency
.
https://developer.apple.com/documentation/spritekit/skview/1519697-allowstransparency
Nó mặc định là false
, năng suất nền hình chữ nhật màu đen bạn nhìn thấy; nhưng đặt nó thành true
, đặt màu nền thành .clear
và nó kết hợp với nội dung UIKit tốt.
Thông tin thêm: Removing Background of SKView - Particle Emitter - SpriteKit