是否可以获取从 CCSpriteFrameCache 获取的 CCSpriteFrame,并将其转换为 CCTexture2D?
我试过这个:
-(id)initWithFile:(NSString*)filename body:(b2Body*)body original:(BOOL)original
{
NSAssert(filename != nil, @"Invalid filename for sprite");
CCTexture2D *texture = [[[CCSpriteFrameCache sharedSpriteFrameCache]spriteFrameByName:filename ]texture];
return [self initWithTexture:texture body:body original:original];
}
但在屏幕上显示整个 spritesheet 纹理不仅仅是一帧。
这个链接有一个类似的问题:How to convert a CCSpriteFrame to a CCTexture2D (Cocos2d) 但我没有发现这个链接的答案有帮助。
我也试过这个,但我得到了相同的结果:
-(id)initWithFile:(CCSpriteFrame*)filename body:(b2Body*)body original:(BOOL)original
{
NSAssert(filename != nil, @"Invalid filename for sprite");
CCSprite * sprite_ = [CCSprite spriteWithSpriteFrame:filename];
CCTexture2D *texture = [sprite_ texture];
return [self initWithTexture:texture body:body original:original];
}