Я делаю игру в Xcode с Swift5.Я создал класс Blocks как подкласс SKSpriteNode.Все идет нормально.Затем, когда я объявляю 2 переменные SKSpriteNode 'Block1' и 'Block2' как 'Blocks', это выдает мне эту ошибку: 'SKSpriteNode не конвертируется в' Blocks ''.Замена «как» на «как!»тоже не работаетКто-нибудь может мне помочь?
Я видел этот учебник по Swift3, и я сделал точно так же, как и в Swift5.Очевидно, не сработало. Вот ошибки
Вот код:
import Foundation
import UIKit
import SpriteKit
import ClassKit
import GameplayKit
class Blocks: SKSpriteNode
{
var isRunning = false
var timeTillNextRun = UInt32(0)
var timeWaited = UInt32(0)
func shouldRunBlock() -> Bool {
return timeWaited > timeTillNextRun
}
init(isRunning: Bool, timeTillNextRun: UInt32, timeWaited: UInt32)
{
self.isRunning = isRunning
self.timeWaited = timeWaited
self.timeTillNextRun = timeTillNextRun
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
class PlayScene: SKScene {
let ErouPrinc = SKSpriteNode(imageNamed: "AnduErouFinal")
let Bar = SKSpriteNode(imageNamed: "Bar")
var onGround = true
var velocityY = CGFloat(0)
var gravity = CGFloat(0.6)
var limitaY = CGFloat(0.0)
let Block1:Blocks = SKSpriteNode(imageNamed: "Block1") as Blocks //here gives error
let Block2:Blocks = SKSpriteNode(imageNamed: "Block2") as Blocks //here gives error
var blockMaxX = CGFloat(0)
var groundspeed = CGFloat(0)
var origBlockX = CGFloat(0)