无法创建SKSpriteNode的子类

Ste*_*ves 6 subclassing sprite-kit swift

尝试将SKSpriteNode子类化,以使我的游戏代码更清晰,我显然不理解某些东西.这是一个非常简单的例子:我Alien.swift使用以下内容创建一个新的Swift文件:

import SpriteKit

class Alien: SKSpriteNode {

}
Run Code Online (Sandbox Code Playgroud)

在我的游戏中,我做:

    let alienSprite: Alien = Alien()
    print("It's an \(alienSprite)")
Run Code Online (Sandbox Code Playgroud)

我得到:

这是一个(SKSpriteNode)名称:'(null)......'

甚至Xcode也说它是'aliensSprite':

在此输入图像描述

为什么在运行时不打印它是'alienSprite'?

编辑:在这里合并我的一条评论 - 我实际上是从我的.sks文件中获取精灵,我将它放在场景编辑器中并设置其自定义类.我尝试用以下方法来接它:

let alien = childNodeWithName("alien") as! alienSprite 
Run Code Online (Sandbox Code Playgroud)

但我得到错误:

Cannot cast SKSpriteNode to alientSprite
Run Code Online (Sandbox Code Playgroud)

Kni*_*gon 3

注意场景文件的状态。如果您看到它呈阴影,则表示它尚未保存。如果您仍在场景编辑器中编译代码,则不会进行保存,因此请务必在编译之前按 cmd + s 进行保存。 在此输入图像描述

现在,如果人们试图找出类名未保存的原因,请确保按 Enter 或离开文本字段并转到另一个文本字段以确保类名保存,否则它将恢复到较旧的状态。

在此输入图像描述