Cocos2d iphone convertToWorldSpace-cocos2d convertToWorldSpace

Cocos2d iphone convertToWorldSpace-cocos2d convertToWorldSpace,cocos2d-iphone,Cocos2d Iphone,嗨,我不太明白这是怎么回事。 api声明它将局部坐标转换为世界空间 [spriteC convertToWorldSpace:CGPointZero]; 假设我有三个雪碧。雪碧茶添加到场景中,雪碧茶添加到雪碧茶中。spriteC加入了spriteB - Scene - spriteA - spriteB - spriteC 我想把斯皮特克的起源变成世界 如果我这样做:[self-convertToWorldSpace:[spriteC CGPo

嗨,我不太明白这是怎么回事。 api声明它将局部坐标转换为世界空间

[spriteC convertToWorldSpace:CGPointZero];
假设我有三个雪碧。雪碧茶添加到场景中,雪碧茶添加到雪碧茶中。spriteC加入了spriteB

- Scene
    - spriteA
        - spriteB
            - spriteC
我想把斯皮特克的起源变成世界

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

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

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

甚至
[spriteC convertToWorldSpace:[spriteC CGPointZero]]

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

[spriteC convertToWorldSpace:CGPointZero];
在世界坐标系中查看spriteC位置的正确答案是什么

[spriteC convertToWorldSpace:[spriteC CGPointZero]];
convertToWorldSpace:方法将一个节点空间转换为父节点空间。。。直到它到达世界空间

[spriteC convertToWorldSpace:CGPointZero];

正如Kazuki所回答的,但CGPointZero是一个全局的。

要在
spriteC
上查找世界空间原点,您需要sprites父对象,在本例中为
spriteB
,并请求其子对象的世界空间:

[spriteB convertToWorldSpace:[spriteC CGPointZero]];