Ios 无法将类型Player的值分配给类型SKSpriteNode

Ios 无法将类型Player的值分配给类型SKSpriteNode,ios,swift,xcode,sprite-kit,Ios,Swift,Xcode,Sprite Kit,我正在做我的游戏,一切似乎都很顺利,但我一直收到这个错误信息 这是错误所在的代码段。玩家是一个阶级 player=player(节点:player,粒子:playerParticles!) 以下是玩家等级: import Foundation import SpriteKit class Player { var playerr:SKSpriteNode var speed = 0.1 var showParticles = false var particle

我正在做我的游戏,一切似乎都很顺利,但我一直收到这个错误信息 这是错误所在的代码段。玩家是一个阶级

player=player(节点:player,粒子:playerParticles!)

以下是玩家等级:

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")
    }

}

试试这样的

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
  self.addChild(player)

let playerParticles = SKEmitterNode(fileNamed: "")
playerParticles?.isHidden = true
self.addChild(playerParticles)

var player=SKSpriteNode(imageNamed:“player.png”)
player
变量提供一个隐式类型的
SKSpriteNode
。为什么要用类型为
Player
的值重新分配它?
Player
是否继承自
SKSpriteNode
?错误是,Player if的类型为SKSpriteNode,这是您创建它的方式,但是您尝试将其创建为Player对象,但它无法这样做,因为它的类型为SKSpriteNode。
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
  self.addChild(player)

let playerParticles = SKEmitterNode(fileNamed: "")
playerParticles?.isHidden = true
self.addChild(playerParticles)