Ситуация:
Работа с новым проектом: iOS > Приложение > Игрa > SpriteKit, Swift, iPhone
Здесь я написал функцию в своем GameScene.swift
, чтобы принять шестнадцатеричное значение цвета и альфа-двойное. Я перехожу к документации Swift и ссылаюсь на элегантное решение, которое я видел в Интернете. Я заметил, что этот точный код компилирует, запускает и отображает правильный цвет для цели сборки iPhone5 в симуляторе.
Но...
Точно такой же проект даже не будет компилироваться, когда моя цель сборки установлена для iPhone5s.
Не удалось найти перегрузку для "init", которая принимает предоставленные аргументы.
Функция:
// colorize function takes HEX and Alpha converts then returns aUIColor object
func colorize (hex: Int, alpha: Double = 1.0) -> UIColor {
let red = Double((hex & 0xFF0000) >> 16) / 255.0
let green = Double((hex & 0xFF00) >> 8) / 255.0
let blue = Double((hex & 0xFF)) / 255.0
var color: UIColor = UIColor( red: Float(red), green: Float(green), blue: Float(blue), alpha:Float(alpha) )
return color
}
Связанный вызов в didMoveToView
:
override func didMoveToView(view: SKView) {
// blue background color
self.backgroundColor = colorize( 0x003342, alpha:1.0)
}
По общему признанию, я очень новичок в разработке iOS, но мне интересно, что происходит, чтобы заставить компилятор не найти этот инициализатор?
ИЗМЕНИТЬ: мгновенно поставить github
Быстрая сущность со связанными файлами... единственная, которую я редактировал, - GameScene.swift