如何将CCSprite转换为CCTexture2d

Kin*_*cle 1 objective-c box2d cocos2d-iphone box2d-iphone

我正在使用cocos2d制作一个iPhone应用程序,我有一个CCSprite,我需要将它转换为CCTexture2d所以我可以将它放入box2d.这是我到目前为止的代码,它崩溃了运行时错误...

    //Set up sprite
    // Use batch node. Faster
    CCSprite *parent = [CCSpriteBatchNode batchNodeWithFile:@"egg.png" capacity:100];

    eggSprite_ = [CCSprite spriteWithTexture:[parent texture]];

    [eggSprite_ setScaleX: .5/eggSprite_.contentSize.width];
    [eggSprite_ setScaleY: .5/eggSprite_.contentSize.height];


    [eggSprite_ setTexture:eggTexture_];

    [self addChild:parent z:0 tag:kTagParentNode];
Run Code Online (Sandbox Code Playgroud)

joh*_*ers 5

您可以从图像中获取纹理和精灵,如下所示:

    NSString* file = @"myImage.png";
CCTexture2D* texture = [[CCTextureCache sharedTextureCache] addImage:file];
CGSize texSize = texture.contentSize;
CGRect texRect = CGRectMake(0, 0, texSize.width, texSize.height);
CCSpriteFrame* frame = [CCSpriteFrame frameWithTexture:texture rect:texRect];
Run Code Online (Sandbox Code Playgroud)