Я работаю над своей игрой, все, кажется, идет отлично, но я продолжаю получать это сообщение об ошибке Это часть кода, в котором эта ошибка включена. Игрок является классомНевозможно присвоить значение типа Player для ввода SKSpriteNode
player = Player(node: player, particles: playerParticles!)
func addPlayer() {
var player = SKSpriteNode(imageNamed: "player.png")
player.physicsBody = SKPhysicsBody(texture: player.texture!, size: player.size)
player.physicsBody!.affectedByGravity = false
player.physicsBody!.allowsRotation = false
player.physicsBody!.categoryBitMask = ColliderType.Plyer.rawValue //sets value to 1
player.physicsBody!.contactTestBitMask = ColliderType.Enemy.rawValue //will make contact with any value 2
player.physicsBody!.collisionBitMask = ColliderType.Enemy.rawValue //will collide with any value 2
let playerParticles = SKEmitterNode(fileNamed: "")
playerParticles?.isHidden = true
player = Player(node: player, particles: playerParticles!)
player.addChild(playerParticles!)
addChild(player)
Вот класс игрока:
import Foundation
import SpriteKit
class Player {
var playerr:SKSpriteNode
var speed = 0.1
var showParticles = false
var particlesFrameCount = 0
var maxParticleFrames = 20
var particles:SKEmitterNode
init(node:SKSpriteNode, particles:SKEmitterNode) {
self.playerr = node
self.particles = particles
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
'вара игрока = SKSpriteNode (imageNamed:«игрока. png ")' дает переменной 'player' неявный тип' SKSpriteNode'. Зачем вам переназначать его значением типа «Player»? Наследует ли 'Player' от' SKSpriteNode'? – crizzis
Ошибка в том, что игрок, если тип SKSpriteNode, и вот как вы его создали, но затем вы пытаетесь создать его как объект Player, чего он не может сделать, потому что это тип SKSpriteNode. –