Я строю карточную игру и у меня есть изображение для текстуры моего узла SpriteKit. Это изображение в формате PDF для обложки карты, и я хочу установить цвет фона карты (пустое пространство вокруг обложки). Изображение, которое я имею, является просто художественным оформлением карты и не имеет какой-либо детализации фона. Как я могу установить фон для этого? Установка атрибута «color» в инициализации SKSpriteNode только меняет цвет моего объекта изображения. Как я могу получить доступ к цвету и текстуре «пустого пространства» позади изображения, оставаясь при этом в ширине и размере, установленных в super.init?
Я не хочу менять все мои PDF-файлы и добавлять белый слой на оборотную сторону, потому что я могу захотеть сделать некоторые пользовательские изменения цвета для фона карты во время игры. Я попытался добавить SKShapeNode внутри функции init (пример ниже), но это технически накладывается поверх моего Card SKSpriteNode, и тогда пользователь не может нажать на фактическую «Card». Кажется, это должно быть довольно просто, но у меня было много проблем.
import SpriteKit
class Card: SKSpriteNode {
init(image: String) {
super.init(texture: SKTexture(imageNamed: image), color: .clear,
size: CGSize(width: K.cardSize[0], height: K.cardSize[1]))
//Background
let background = SKShapeNode(rectOf: CGSize(width: K.cardSize[0], height: K.cardSize[1]), cornerRadius: 15)
background.fillColor = UIColor.white
background.zPosition = -10
addChild(background)
}
}