gpt4 book ai didi

iphone - Sprite Atlas 和 @2x 图像

转载 作者:行者123 更新时间:2023-12-03 18:30:59 24 4
gpt4 key购买 nike

当使用纹理图集(iPhone5)时,我是否必须包含正常和正常@2x尺寸的 Sprite 图像(即使我只针对视网膜设备)。我以为我可以只添加 @2x 版本,但遗憾的是,当我运行应用程序时, Sprite 出来的效果比应有的要大得多(接近 4x),当我添加正常版本(@ 1x) 图像也添加到图集中。

编辑:

在 Xcode 中启动一个新的项目文件,如果您希望图像填充整个设备显示屏(iPhone5/5S 在最大分辨率下),您需要使用 @2x 扩展名(在这种情况下没有“Xcode 项目中的“background_003.png”,因此只需 @2x 版本即可)

    // SETUP BACKGROUND FRAME IS {320, 568} POINTS
// IMAGE "background_003@2x.png" = 640 x 1136 Pixels
SKSpriteNode *background = [SKSpriteNode spriteNodeWithImageNamed:@"background_003"];
[background setAnchorPoint:CGPointZero];
[background setPosition:CGPointZero];
[self addChild:background];

enter image description here

如果您在没有 @2x 的情况下添加正确大小的图像 (640 x 1136),Xcode 会获取该图像并按设备 2.0 点大小错误地对其进行缩放,从而导致图像大小是显示屏的两倍。

    // SETUP BACKGROUND FRAME IS {320, 568} POINTS
// IMAGE "background_001.png" = 640 x 1136 Pixels
SKSpriteNode *background = [SKSpriteNode spriteNodeWithImageNamed:@"background_001"];
[background setAnchorPoint:CGPointZero];
[background setPosition:CGPointZero];
[self addChild:background];

enter image description here

结果:

经过今天早上的一些测试,我现在意识到我的问题是在没有 @2x 后缀的图集中添加 Sprite 帧,然后将它们重命名以包含丢失的 @2x 的结果。看起来,当使用folder.atlas时,Xcode会在引用文件的地方创建一个plist,我找不到这个,并且它似乎只有在您第一次将图集添加到项目中时才会更新。删除并重新添加图集后,Xcode 开始以正确的比例正确显示 @2x 图像。

因此,这个故事的寓意是:如果您更改了图集或其内容,请制作一个副本,将其从 Xcode 项目中删除,然后重新添加。以视网膜分辨率创建所有艺术作品,并将 @2x 后缀添加到所有文件中,您只需要任何视网膜文件(如果您的目标是非视网膜设备,则不需要 @2x)最后,在代码中引用艺术资源时,不要使用@2x 后缀,所以即使你的怪物 Sprite 艺术被称为“Monster_0001@2x.png”,你也应该在代码中将其引用为“Monster_0001”,Xcode 会在幕后为你计算出 @2x 位,如果你使用PNG(您应该是)它甚至还会为您添加“.png”。

// THE ART ASSET ON DISK IS CALLED: "Monster_0001@2x.png"
SKSpriteNode *spriteMonster = [SKSpriteNode spriteNodeWithImageNamed:@"Monster_0001"];

最佳答案

如果您仅支持 Retina 设备,只需添加不带 @2x 的文件即可。

关于iphone - Sprite Atlas 和 @2x 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20329477/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com