【问题标题】:iPhone simulator displaying wrong imageiPhone模拟器显示错误的图像
【发布时间】:2014-05-06 05:43:45
【问题描述】:

我正在开发一个可以在我的设备上正常运行的应用,但模拟器显示我正在使用的图像的旧版本,并且拒绝使用新版本。我已经从 Xcode 中删除了图像并重新导入,我已经重新启动了 xcode,我已经重新启动了模拟器,我已经从构建阶段删除了文件并重新导入了正确的版本,我已经清理了项目,我已经从模拟中删除应用程序并重建它,我已经尝试了我能想象的一切,但它继续显示错误的图像。

这个问题是从我发现SpriteKit不使用@2x的时候开始的,所以我把小图删了,从开发文件夹中移除了,但是模拟器继续显示小图,设备显示大图.我重命名了没有@2x 的大号,所以它只是名称。

感谢您的帮助!

图片显示代码:

//initialize beginning hand
touchingHand = [SKSpriteNode spriteNodeWithImageNamed:@"Hand"];
touchingHand.position = CGPointMake(self.size.width/2, self.size.height/2);
touchingHand.scale = .17;
[self addChild:touchingHand];

【问题讨论】:

  • 请添加用于显示此图像的代码
  • 检查图片名称的大小写。
  • @Paradox 不知道该怎么做...但我认为您可能走在正确的轨道上,因为如果我更改图像的名称,它可以解决问题。但是如果我把它改回来,它会回到显示错误的图像。即使两者是相同的图像!
  • @Paradox 它仍然显示旧版本的图像:/
  • 当然,Sprite Kit 在可能和需要时使用@2x 图像(即在 Retina 设备上,前提是两个文件使用相同的名称和大小写,即“Hand.png”和“Hand@2x.png”和作为“Hand.png”加载到精灵/纹理中)。

标签: ios objective-c ios-simulator sprite-kit


【解决方案1】:

首先,sprite kit 使用并支持视网膜图像。 您需要两张图片 - 一张用于分辨率较低的屏幕,名为 Hand.png,第二张 - Hand@2x.png。第二个实际上需要比第一个图像大两倍才能正确显示。

您是否为此使用了正确的图像?您的代码是正确的,因为它自动使用 @2x 图像。 这样,您将在 Retina 和非 Retina 设备上获得相同的图像尺寸。

接下来 - 模拟器有时会搞砸东西,尤其是纹理图集。尝试打开模拟器,转到顶部菜单,重置内容和设置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-16
    • 1970-01-01
    • 1970-01-01
    • 2012-01-03
    • 2013-05-13
    • 2011-07-09
    相关资源
    最近更新 更多