0

如果您熟悉 Flixel 游戏引擎,请在此处开源: https ://github.com/ericjohnson/canabalt-ios/tree/master/flixel-ios

您将如何添加对视网膜图形的支持?像视网膜大小的纹理。

我尝试添加@2x atlas pngs,它们似乎已加载,但我猜偏移量将不正确,如 atlas plist 中指定的那样。使用正确的偏移量更改 plist(为视网膜设备加载视网膜图集)肯定会正确加载图形,但纹理本身通常显示太大,并且似乎会出现其他问题。

进度更新:

  • 如上所述,我正在为高分辨率图形创建单独的纹理图集 - 我想这意味着我需要拥有一整套高分辨率图形(或根本没有)以使事情变得简单。这使得图形加载正确(或者如果使用lowres atlas plist,偏移量当然不正确)

  • 在创建 FlxSprite:s 时,我不使用速记静态创建器,而是使用 init* 构造器,使用设备的比例指定 modelScale 参数(对于视网膜设备将为 2.0,对于其他设备为 1.0)。这样,无论视网膜屏幕与否,图形都会在屏幕上以正确的尺寸显示。

剩下的就是让视网膜版本使用正确的分辨率,因为在某处纹理本身似乎缩小了,然后再次调整大小,产生模糊、不正确的效果——而不是原始的高分辨率图像。我猜最后一个罪魁祸首是在 SemiSecretTexture 类的某个地方......

再次更新进度:

  • 我可能只是上面错了。我想我知道该怎么做。无需将modelScale设置为2.0...我可能会整理细节并稍后提供答案:-)
4

1 回答 1

0

我想没有直接的方法可以做到这一点,但是当你实例化从 FlxGame 派生的类时,不要在缩放参数中使用 YES。对于初学者。然后你必须为视网膜和非视网膜加载不同的图集。但是,不确定从那里支持 iPad 会发生什么。然后在为 FlxSprites 加载纹理时,您需要指定“设备比例”,对于视网膜设备,该比例为 2.0 - 从 [UIScreen 比例] 获取。这将使视网膜和非视网膜对 FlxSprite 有好处。然后 FlxTileblock(可能还有其他类)是另一个我还没有解决的故事。

于 2012-05-16T04:56:41.847 回答