首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xcode7场景编辑器SKSpriteNode自定义类

Xcode7场景编辑器SKSpriteNode自定义类
EN

Stack Overflow用户
提问于 2015-09-03 13:57:14
回答 1查看 431关注 0票数 0

有人能告诉我我做得对吗?使用Xcode 7.beta 6,我将在Xcode场景编辑器中设置一个SKSpriteNode自定义类。

代码语言:javascript
复制
import UIKit
import SpriteKit

class ZoneNode: SKSpriteNode {
    var zoneID: Int = 0
}

场景编辑器中的SKSpriteNode设置如下:

注意到__:我已经尝试过这一点,无论是使用还是不使用模块名称,就我所能看到的而言,它似乎并没有什么不同。

一切似乎都正常,场景中有8SKSpriteNode,但只有2 ZoneNodes,当我列出场景中的所有子级时,我得到以下输出。

代码语言:javascript
复制
// CODE
let allChildren = self.children
for eachChild in allChildren {
    if eachChild.isKindOfClass(ZoneNode) {
        print("CHILD: \(eachChild)")
    }
}

代码语言:javascript
复制
// OUTPUT
CHILD: <SKSpriteNode> name:'CUSTOM_SPRITE_2' texture:['nil'] position:{0, 0} scale:{1.00, 1.00} size:{100, 100} anchor:{0.5, 0.5} rotation:0.00
CHILD: <SKSpriteNode> name:'CUSTOM_SPRITE_1' texture:['nil'] position:{0, 0} scale:{1.00, 1.00} size:{100, 100} anchor:{0.5, 0.5} rotation:0.00
SKIPPED: 6

据我所知,self.children返回一个SKNode数组[SKNode],如果我将一个节点降到ZoneNode,一切都按预期工作,我可以轻松地访问属性zoneID

代码语言:javascript
复制
let thisZoneNode = eachChild as! ZoneNode
thisZoneNode.zoneID = 123

我有点困惑,为什么打印将节点列表为<SKSpriteNode>而不是ZoneNode,尽管这可能只是指我最初子类中的基类,有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2015-09-03 22:35:36

“自定义类”特性在Xcode beta 6中不起作用,但似乎在GM发行版(7A218)中正确工作。

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

https://stackoverflow.com/questions/32377721

复制
相关文章

相似问题

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