您好,所以我想做的是以编程方式创建一个spriteNode并将其分配给一个类。这样我就可以轻松管理节点特性,例如自定义级别,枪支,马力等。
这就是我试图做到的。

let player = SKSpriteNode(imageNamed: "charcter") as? Dummyplayer
    player.physicsBody?.affectedByGravity = false
    player.physicsBody?.allowsRotation = false
    player.size.height = 75
    player.size.width = 75
    addChild(player)
    player.position.x = CGFloat(x)
    player.position.y = CGFloat(y)


但是它不能说不能将类型为SKSpriteNode的类型强制转换为game.Dummplayer类型的Dummyplayer类型为SKSpriteNode的类型,因此我不确定自己在做什么错。

最佳答案

您正在创建一个SKSpriteNode,然后将其强制转换为DummyPlayer。由于玩家不是DummyPlayer,因此强制转换将始终失败。



给定的Dummyplayer类定义如下

class Dummyplayer: SKSpriteNode { }


您需要创建一个Dummyplayer类型的值

if let player = Dummyplayer(imageNamed: "character") {
    ....
}

关于swift - Swift 4 SKSpriteNode强制转换为CustomClass,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48596823/

10-10 22:23