Я пытаюсь использовать градиент цвета для фона сцены в моей игре Sprite Kit.Вот так это выглядит примерно так:
введите описание изображения здесь
Мне нужна помощь в устранении следующей ошибки:
Тип 'UIImage'не имеет члена 'radialGradientImage'
код:
import UIKit
import SpriteKit
import StoreKit
import GameKit
import AVFoundation
import SpriteKit.SKTexture
class Start: SKScene {
let color1 = UIColor(red: 255/255, green: 153/255, blue: 102/255, alpha: 1)
let color2 = UIColor(red: 255/255, green: 204/255, blue: 153/255, alpha: 1)
//Error ->
let backgroundImg = UIImage.radialGradientImage(size: frame.size, outerColor: color1, innerColor: color2)
//
let backgroundTexture = SKTexture(image: backgroundImg)
let background = SKSpriteNode(texture: backgroundTexture)
override func didMove(to view: SKView) {
//Background
background.position = CGPoint(x: self.size.width/2, y: self.size.height/2)
addChild(background)
}
static func radialGradientImage(size: CGSize, outerColor: UIColor, innerColor: UIColor) -> UIImage
{
let colorSpace = CGColorSpaceCreateDeviceRGB()
let gradient = CGGradient(colorsSpace: colorSpace, colors: [outerColor.cgColor, innerColor.cgColor] as CFArray, locations: [1.0, 0.0])
let center = CGPoint(x: size.width / 2.0, y: size.height / 2.0)
UIGraphicsBeginImageContextWithOptions(size, false, UIScreen.main.scale)
let imageContext = UIGraphicsGetCurrentContext()
imageContext!.drawRadialGradient(gradient!, startCenter: center, startRadius: 0.0, endCenter: center, endRadius: size.width / 2.0, options: CGGradientDrawingOptions.drawsAfterEndLocation)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image!
}
}