Cocos2d iphone 调试SpriteSheet解包cocos2d项目-已关闭

Cocos2d iphone 调试SpriteSheet解包cocos2d项目-已关闭,cocos2d-iphone,Cocos2d Iphone,[解决]伙计们,我在Mac app store上找到了另一个名为Plist Extractor的工具,可以帮我完成这项任务。非常感谢你们 我在GitHub上找到了。这是一个用于解包cocos2D引擎使用的cocos2D sprite表的实用程序。在尝试阅读和调试这个项目后,我找不到任何错误,但它并没有像我预期的那样工作。特别是,它总是从sprite框架生成空白图像并将其保存到磁盘。所以任何人都请帮我调试它。我还附上一张雪碧纸供你们测试 试着用你的雪碧床单试试吧。试试这个 #import "Ext

[解决]伙计们,我在Mac app store上找到了另一个名为Plist Extractor的工具,可以帮我完成这项任务。非常感谢你们

我在GitHub上找到了。这是一个用于解包cocos2D引擎使用的cocos2D sprite表的实用程序。在尝试阅读和调试这个项目后,我找不到任何错误,但它并没有像我预期的那样工作。特别是,它总是从sprite框架生成空白图像并将其保存到磁盘。所以任何人都请帮我调试它。我还附上一张雪碧纸供你们测试

试着用你的雪碧床单试试吧。

试试这个

#import "ExtractImagesFromTP.h"

[ExtractImagesFromTP createImagesFromTPPlist:@"sprite_sheet.plist"];
ExtractImagesFromTP类

h

m


哦,非常感谢你。但我在Mac应用商店找到了一个名为Plist Extractor的工具,它可以帮助我解决这个问题。无论如何,非常感谢你!哦,非常感谢你。但我在Mac应用商店找到了一个名为Plist Extractor的工具,它可以帮助我解决这个问题。无论如何,非常感谢你!
@interface ExtractImagesFromTP : NSObject

+ (void)createImagesFromTPPlist:(NSString *)plist;

@end
@implementation ExtractImagesFromTP

+ (NSDictionary *)getAllFrameFromPlist:(NSString *)plistFile
{
    NSString *path = [[[NSBundle mainBundle] bundlePath] stringByAppendingPathComponent: plistFile];
    NSDictionary *dictionary = [NSDictionary dictionaryWithContentsOfFile:path];
    return [dictionary objectForKey: @"frames"];
}

+ (void)createPngFromSprite:(CCSprite *)sprite fileName:(NSString *)fileName
{
    sprite.position = ccpMult(ccpFromSize(sprite.contentSize), 0.5);
    [CCDirector sharedDirector].nextDeltaTimeZero = YES;
    CCRenderTexture* render = [CCRenderTexture renderTextureWithWidth:sprite.contentSize.width height:sprite.contentSize.height];
    [render begin];
    [sprite visit];
    [render end];
    NSLog(@"Texture Name: %@", fileName);
    [render saveToFile:fileName format:CCRenderTextureImageFormatPNG];
}

+ (void)createImagesFromTPPlist:(NSString *)plist
{
    [[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile: plist];
    NSDictionary *frameNames = [self getAllFrameFromPlist: plist];

    for (NSString *frameName in frameNames)
    {
        CCSpriteFrame *frame = [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:frameName];
        CCSprite *sprite = [CCSprite spriteWithSpriteFrame: frame];
        [self createPngFromSprite:sprite fileName:frameName];
    }
}

@end