繁体   English   中英

ios 键控存档 Sprite Kit 解码错误:SKTexture:加载图像资源时出错:“缺少 Resource.png”

[英]ios keyed archive Sprite Kit decode error: SKTexture: Error loading image resource: "Missing Resource.png"

当我存档 SKLabelNodes 和 SKShapeNodes(我没有尝试过 SKSpriteNotes)时没问题,但是当我从存档中提取精灵时,我得到 SKTexture: Error loading image resource: "Missing Resource.png"。

下面是一些演示问题的示例代码:

-(id)initWithSize:(CGSize)size {    
    if (self = [super initWithSize:size]) {
        /* Setup your scene here */

        self.backgroundColor = [SKColor colorWithRed:0.15 green:0.15 blue:0.3 alpha:1.0];

        SKLabelNode *const myLabel = [SKLabelNode labelNodeWithFontNamed:@"Chalkduster"];

        myLabel.text = @"Hello, World!";
        myLabel.fontSize = 30;
        myLabel.position = CGPointMake(CGRectGetMidX(self.frame),
                                       CGRectGetMidY(self.frame));

        // Archive
        NSFileManager *const fm = [NSFileManager defaultManager];
        NSURL *const dir = [fm URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask][0];
        NSURL *const archive = [dir URLByAppendingPathComponent:@"example"];
        [NSKeyedArchiver archiveRootObject:myLabel toFile:archive.path];

        // Unarchive
        SKLabelNode *const arLabel = [NSKeyedUnarchiver unarchiveObjectWithFile:archive.path];
        myLabel.position = CGPointMake(CGRectGetMidX(self.frame) + 30,
                                       CGRectGetMidY(self.frame) + 30);


        [self addChild:myLabel];
        [self addChild:arLabel];
    }
    return self;
}

知道我做错了什么吗?

这段代码对我有用。 两个标签都显示出来,没有“缺少资源”图标。

我把它放在 SKScene 的 init 中,就像上面一样,并且在用户按下按钮时运行它。 在 iPhone Retina Simulator(普通版和 64 位)、iOS 7.0 和 7.1 以及 iPod Touch 5G 和 iOS 7.1 上测试。

我建议将此代码放在新创建的 Sprite Kit 项目中,以验证它是否也适用于您。 如果是,则问题一定出在您的项目上。 如果即使在新项目中它仍然无法正常工作,那么......我不知道。 如果您不使用 Xcode 5.1,也许您可​​能想要更新 Xcode。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM