如果您熟悉Flixel游戏引擎,请在此处开源:https://github.com/ericjohnson/canabalt-ios/tree/master/flixel-ios
您将如何添加对视网膜图形的支持?就像视网膜大小的纹理一样。
我尝试添加@2x地图集 png,它们似乎加载了,但是我想偏移量将不正确,如地图集列表中所述。使用正确的偏移更改 plist(为视网膜设备加载视网膜图集(肯定会正确加载图形,但纹理本身通常会显示太大,并且似乎会出现其他问题。
进度更新:
-
如上所述,我正在为高分辨率图形创建单独的纹理图集 - 我想这意味着我需要一套完整的高分辨率图形(或根本没有(才能使事情变得简单。这使得图形正确加载(或者如果使用低分辨率图集plist,偏移量当然不正确(
-
在创建 FlxSprite:s 时,我不使用速记静态创建者,而是使用 init* 构造函数,使用设备的比例指定 modelScale 参数(视网膜设备为 2.0,其他设备为 1.0(。这样,无论是否为视网膜屏幕,图形也会以正确的尺寸显示在屏幕上。
剩下的就是让视网膜版本使用正确的分辨率,因为纹理本身在某个地方似乎缩小了,然后再次放大,产生模糊、不正确的效果——而不是原来的高分辨率图像。我猜最后一个罪魁祸首是在半秘密纹理类的某个地方......
进度再次更新:
- 我上面可能错了。我想我找到了该怎么做。无需将模型比例设置为 2.0...我可能会整理细节并稍后提供答案:-(
我想没有直接的方法可以做到这一点,但是当您实例化从 FlxGame 派生的类时,不要在 zoom 参数中使用 YES。对于初学者。然后,您必须为视网膜和非视网膜加载不同的地图集。但是,不确定从那里获得iPad支持会发生什么。然后,在加载 FlxSprites 的纹理时,您需要指定"设备比例",对于视网膜设备,该比例为 2.0 - 从 [UIScreen 比例] 获取。这将使视网膜和非视网膜对FlxSprite有好处。然后FlxTileblock(可能还有其他类(是另一个我还没有解决的故事。