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