克隆一个Sprite Cocos2d

时间:2013-12-23 18:57:47

标签: cocos2d-iphone clone sprite

如果没有碰撞,我有一个可能被移动的精灵。为此,我想将其与可能的过渡转换为“碰撞检测”方法。

所以,我正在考虑将它克隆到一个新对象并将转换添加到它的boundingbox / rect。

到目前为止,我无法到达任何地方......这就是我已经尝试过的事情:

1)

    CCSprite *futureSprite = [CCSprite spriteWithTexture:[selSprite texture] rect:[selSprite textureRect]];

    CGPoint futurePos = ccpAdd(futureSprite.position, translation);
    futureSprite.position = futurePos;

2)
    CCSprite *futureSprite;

    futureSprite = selSprite;
    CGPoint futurePos = ccpAdd(futureSprite.position, translation);
    futureSprite.position = futurePos;

我应该遵循其他任何途径吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

用于将原始精灵的点复制到副本:

CCSprite *futureSprite = [CCSprite spriteWithTexture:selSprite.texture
                                                rect:selSprite.textureRect];

// futureSprite has the same position as selSprite
futureSprite.position = selSprite.position;

// OR: use translation as position since futureSprite.position will be 0,0
futureSprite.position = translation;

不需要ccpAdd。只需将原始精灵的位置指定给新精灵的位置属性即可。