加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ios – Xcode为两个不同的字符串加载相同的图像

发布时间:2020-12-14 17:25:32 所属栏目:百科 来源:网络整理
导读:我在assets文件夹中有两个图像,如下所示: backgroundImage = @"background.wood";backgroundImageLight = @"background.wood.lighting"; assets文件夹中的名称与这些字符串相同.当我尝试加载这些图像时,无论backgroundLight总是加载背景图像.我必须将assets
我在assets文件夹中有两个图像,如下所示:

backgroundImage = @"background.wood";
backgroundImageLight = @"background.wood.lighting";

assets文件夹中的名称与这些字符串相同.当我尝试加载这些图像时,无论backgroundLight总是加载背景图像.我必须将assets文件夹中的名称和字符串中的名称从“background.wood.lighting”更改为“somedifferentstring”,以便实际加载正确的图像.这是Xcode的错误吗?为什么它为这些不同的字符串加载相同的图像?是否与初期相似?我尝试手动清空缓存,以确保图像没有预加载,但也没有帮助.

更新:

显示/加载图像的代码:

SKSpriteNode *background = [SKSpriteNode spriteNodeWithImageNamed:backgroundImage];
background.position = CGPointMake(CGRectGetMidX(self.frame),CGRectGetMidY(self.frame));
background.size = self.frame.size;
background.zPosition = background_z_order;

SKSpriteNode *backgroundLight = [SKSpriteNode spriteNodeWithImageNamed:backgroundImageLight];
NSLog(@"%@,%@",backgroundImage,backgroundImageLight);
backgroundLight.position = CGPointMake(CGRectGetMidX(self.frame),CGRectGetMidY(self.frame));
backgroundLight.size = self.frame.size;
backgroundLight.zPosition = background_z_order;

[mainView addChild:background];
[mainView addChild:backgroundLight];

更新2:

所有这些加载不同的图像,所以也许它是第二个“.”把它抛出idk:

monster.boss.one
monster.fire.redsun
monster.lightning.yellowjaw
monster.normal.greenslither

解决方法

最后 ”.”被视为文件扩展名的开头.为了与资产在发明资产目录时从应用程序包移动到资产目录的旧项目兼容,可以说@“myImage.jpg”是合法的,如果图像集是,则仍然可以在资产目录中找到叫做myImage.剥离文件扩展名并仍然找到图像集.类似地,你的点后缀.lightning被剥离,找到了后面的background.wood – 这就是搜索的结束.

所以道德是,不要那样做.使用下划线而不是点.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读