gpt4 book ai didi

iphone - Cocos2d/Cocos2d-x 视网膜问题

转载 作者:行者123 更新时间:2023-12-03 21:03:19 25 4
gpt4 key购买 nike

我有一个在 Cocos2d-x 中编写的多平台 iOS/Android 游戏。我只有一组图像可供使用(我只使用高分辨率设备),这些图像根据设备的分辨率进行缩放。例如,所有图像均适用于 iPad,但如果您使用的是 Galaxy S,则图像位置和缩放比例会受到 GalaxyS_screenWidth/iPadscreenWidth 的影响。

这对于所有 Android 设备以及 iPad、iPad2 和旧款 iPhone 都可以正常工作,但对于 Retina iPhone 则存在问题。在 iPhone 4 上,我的所有图像看起来都非常像素化,这是因为图像被缩放到 iPhone 非视网膜分辨率,然后又缩放回填满屏幕。

我尝试启用视网膜模式,图像是预期大小的一半(可能是由于使用了使用点的 get winsize() ),并且手动缩放会导致其他类型的问题。我尝试了很多选项和属性但没有效果,那么我现在应该做什么?

编辑:这不仅仅是一个图形问题,因为文本会自动缩小然后放大并出现像素化。

编辑2:字体是位图,所以我不好。但我不想使用视网膜,因为默认情况下所有图像都已经是视网膜了。我所有的图像都是针对 iPad 设置的,因此对于 iPhone 4,我只是将它们缩小了一点。这适用于 Android 手机。

例如,我有一个图像,具体取决于通过 getwinsize() 获得的屏幕分辨率:

如果当前分辨率宽度为 1024,则图像保持不变。如果当前分辨率宽度为 900,则图像将缩放 900/1024,没问题。如果设备是iPhone 4,分辨率宽度为480,那么图像会缩放480/1024,然后cocos2d-x会自动将生成的图像缩放2,从而像素化。我尝试使用 getwinsizeinpixels ,我尝试乘以屏幕尺寸,我尝试了很多东西,但没有任何效果是开箱即用的,除非我要重做我的许多代码。

那么问题来了,我怎样才能让该死的引擎将 iPhone 4 当作分辨率为 960x640 的 Android 手机呢?

最佳答案

如果您希望 Retina 分辨率图像看起来像 Retina 分辨率图像,那么这些图像需要为 Retina 分辨率 (960x480)。

如果您首先将图像缩小到 480x320,然后在设备上放大,它看起来当然会模糊。您无法通过放大较低分辨率的图像来神奇地使视网膜像素出现。

关于iphone - Cocos2d/Cocos2d-x 视网膜问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11720202/

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