gpt4 book ai didi

iphone - ConvertToWorld-/NodeSpace 如何工作?

转载 作者:行者123 更新时间:2023-12-03 20:30:47 27 4
gpt4 key购买 nike

我现在正在开发一款游戏一段时间,并且通过反复试验使用convertToWorldSpace。它总是有效的,但说实话我不知道我在做什么。我真的很讨厌我不明白我在做什么,但不幸的是互联网没有提供关于这个问题的太多信息。所以我希望有人能解释一下,为什么我必须从节点的父节点调用convertToWorldSpace,以及何时使用convertToNodeSpace。我完全不知道。有人可以概括地解释一下他们的工作并举个例子吗?我真的很感激! :-)

最佳答案

简单地说...

世界空间是屏幕的坐标网格。

nodespace是图层的坐标网格。

cocos2d 和大多数其他游戏框架在一个场景中由多个层组成,您很可能会有一堆其他小节点/ Sprite 。当您计算图层中每个 Sprite 的坐标时,您将使用节点空间,但是当您获得触摸位置时,它将位于世界空间中,因此您需要使用 ConvertToNodeSpace 等将其转换。

希望这有帮助!

---- 编辑 ----

也许一个例子会有所帮助......

 [somenode convertToWorldSpace:ccp(x, y)];

上面的代码会将坐标(x,y)转换为屏幕上的坐标。例如,如果 (x, y) 为 (0, 0),则该位置将是节点的左下角,但不一定在屏幕上。这会将节点的 (0, 0) 转换为屏幕的位置。

[somenode convertToNodeSpace:ccp(x, y)];

上面的代码将执行相反的操作。它将把屏幕上的坐标(x,y)转换为某个节点上的坐标。

因此,当您想要移动某个其他节点或层的子节点(或获取其位置或其他任何内容)时,它会很方便,因为大多数时候您想要移动它相对于该节点或层的任何内容屏幕而不是该层内。

关于iphone - ConvertToWorld-/NodeSpace 如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13199353/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com