convertToWorldSpace - cocos2d

7
  • convertToWorldSpace

您好,我不确定我是否理解了它的工作原理。API说明它将本地坐标转换为世界坐标。

假设我有三个精灵。spriteA添加到场景中,spriteB添加到spriteA中。而spriteC添加到spriteB中。

- Scene
    - spriteA
        - spriteB
            - spriteC

我想将spriteC的原点转换为世界坐标。

如果我这样做:[self convertToWorldSpace:[spriteC CGPointZero]];

或者这样:[spriteA convertToWorldSpace:[spriteC CGPointZero]];

或者这样:[spriteB convertToWorldSpace:[spriteC CGPointZero]];

甚至这样:[spriteC convertToWorldSpace:[spriteC CGPointZero]];

它们不应该给出相同的答案,因为它们都被转换为世界坐标了吗?还是我从一个节点空间到父节点空间……直到到达世界空间。

在世界坐标系中看到spriteC的正确答案是什么?

3个回答

4
要在 spriteC 上找到世界空间原点,您需要获取该精灵的父级,即 spriteB,并查询其子级的世界空间:
[spriteB convertToWorldSpace:[spriteC CGPointZero]];

1
[spriteC convertToWorldSpace:CGPointZero];

和 Kazuki 的回答一样,但 CGPointZero 是一个全局变量。


0
[spriteC convertToWorldSpace:[spriteC CGPointZero]];

convertToWorldSpace: 方法将一个节点空间转换为父节点空间... 直到达到世界空间。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接