2017-02-20 1 views
1

내 게임에 모든 것이 잘될 것 같지만이 오류 메시지가 계속 나타납니다. 이것은 오류 코드입니다. 플레이어는 여기에 클래스를플레이어 유형 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") 
    } 

} 
+0

'VAR 플레이어 = SKSpriteNode (imageNamed 같은 것을보십시오. png ")'는'player' 변수에 암시적인 타입의'SKSpriteNode'를줍니다. 왜 그것을 플레이어 유형의 값으로 재 할당하겠습니까? 'Player'는'SKSpriteNode'를 상속합니까? – crizzis

+0

오류는 플레이어가 SKSpriteNode 유형 인 경우 플레이어를 만든 방법이지만 플레이어 개체로 만들려고합니다. 플레이어 개체는 SKSpriteNode 유형이므로 할 수 없습니다. –

답변

2

것은이

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) 
+0

고마워요 :) – Bran

+0

@Bran 당신을 환영합니다! – sicvayne

관련 문제