首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >swift SpriteKit SKNode类

swift SpriteKit SKNode类
EN

Stack Overflow用户
提问于 2015-07-22 03:01:37
回答 1查看 146关注 0票数 2

我正在用教程制作一个瓷砖游戏,里面有这段代码:

代码语言:javascript
复制
var tile: SKNode?

    switch tileCode {
        case "g":
            tile = SKSpriteNode(texture: atlas?.textureNamed("grassTile"))

        default:
        println("Unknown tilecode: \(tileCode)")
    }

我很困惑,因为tile被声明为SKNode类型,而在switch语句中,它被声明为SKSpriteNode。为什么这样做是可能的?

EN

回答 1

Stack Overflow用户

发布于 2015-08-05 23:59:13

您仍然可以将tile作为SKNode访问,因为它是这样声明的,但它实际上将指向一个SKSpriteNode对象。这种方法有效并且编译器没有抱怨的原因是,SKSpriteNodeSKNode的子类,也就是说,它拥有SKNode所具有的所有属性和方法。整个概念被称为polymorphism,并且与dynamic binding紧密相关。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31547482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档