首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SKNode未能找到childNodeWithName:

SKNode未能找到childNodeWithName:
EN

Stack Overflow用户
提问于 2014-04-04 23:23:50
回答 2查看 1.5K关注 0票数 1

我正在使用SKNode方法在SKScene中搜索childNodeWithName:。要设置名称,我将使用NSManagedObjectID的URI字符串表示形式,获得如下所示:

[[managedObjectID URIRepresentation] absoluteString];

这给出节点名为:

x-coredata://0856426F-EA66-4D28-A88A-FF49225F69B6/Object/p4

但是,childNodeWithName:方法返回零。当在调试器中检查时,该节点和另外两个节点明显存在:

代码语言:javascript
复制
<__NSArrayI 0x9933eb0>(

<SKSpriteNode> name:'(null)' texture:['nil'] position:{160, 284} size:{320, 568} rotation:0.00,

<SKSpriteNode> name:'x-coredata://0856426F-EA66-4D28-A88A-FF49225F69B6/Object/p4' texture:['nil'] position:{31, 537} size:{50, 50} rotation:0.00,

<SKSpriteNode> name:'x-coredata://0856426F-EA66-4D28-A88A-FF49225F69B6/Object/p1' texture:['nil'] position:{217, 416} size:{50, 50} rotation:0.00

)

为了加强这一点,如果我将节点名设置为"testingName",那么节点将按预期返回。

这让我相信雪碧套件不喜欢我用过的名字。是否有人知道命名限制,或者是否知道为什么URL格式会在这里出现问题?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-05 00:59:19

回答这里 @kylefuller

来自苹果:

搜索使用常见的正则表达式语义。 "//“--当放置在搜索字符串的开头时,这将指定搜索应该从根节点开始,并在整个节点树中递归执行。它在搜索字符串中的其他地方都是不合法的。

票数 3
EN

Stack Overflow用户

发布于 2014-07-29 10:33:31

我想我应该在这个问题上补充一些东西,因为我在这个问题上浪费了几个小时。

我的项目有一个Sprite工具包场景图如下:

SKScene-> SKNode(myWorld)->SKNode(camera)就像苹果的例子一样。然而,当使用

代码语言:javascript
复制
var cameraNode = self.childNodeWithName("camera")

要返回的节点始终为零。苹果的文档没有提到安迪的回答声明的“//”。函数childNodeWithName似乎只搜索指定节点的子节点(在本例中为场景)。我一找到这篇文章,我就把它改为

代码语言:javascript
复制
var cameraNode = self.childNodeWithName("//camera")

它现在可以找到camera节点,而不管它在显微镜中的级别如何。

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

https://stackoverflow.com/questions/22874625

复制
相关文章

相似问题

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