【发布时间】:2019-04-27 09:03:54
【问题描述】:
我正在尝试在我的 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!
}
}
【问题讨论】:
-
但我有一个 SKScene @LeoDabus
标签: ios swift sprite-kit gradient radial-gradients