gpt4 book ai didi

ios - JSTileMap 如何处理视网膜和 ipad/iphone 瓦片 map ?

转载 作者:可可西里 更新时间:2023-11-01 05:54:42 28 4
gpt4 key购买 nike

我已经使用 Tiled 创建了一个基本的 tilemap。我正在使用 JSTileMap 和 SpriteKit 来获取场景中的 map 。据我了解,JSTileMap(而不是 SKTexture)会自动处理视网膜和不同的设备。到目前为止,我还没有产生好的结果,这是我的设置:

我有一个 .tmx 文件以基本分辨率创建,使用 map.png 作为其图 block 集。 .tmx 存在于项目中,但我故意没有添加 map.png(我不想支持非视网膜 iPhone)。

在项目中我只添加了以下.png:map@2x~iphone.png(视网膜 iPhone,使用 48x48 tiles)map~ipad.png(非视网膜 iPad,使用 48x48 tiles)map@2x~ipad.png(视网膜 iPad,使用 96x96 tiles)

这是我得到的结果(在清理构建并在模拟器上重置内容和设置之后):

Retina iPhone - tiles 是错误的地方
iPad - 没有显示 tilemap,JSTileMap 有解析错误
Retina iPad - 错误位置的瓷砖

如果我只使用普通的 vanilla map.png(带有 48x48 的图 block ):
Retina iPhone - 瓷砖 map 显示良好但当然太大了
iPad - 瓦片 map 完美显示
Retina iPad - 瓦片 map 显示完美且缩放。

我知道我可以只使用 24x24 tile map.png 显然它可以缩放所有内容。我宁愿不使用缩放的图 block 集,因为质量会受到影响。

提前致谢。

E

最佳答案

我能够缩小 SKTexture 忽略 @2x 文件扩展名的 ~ipad 文件扩展名的范围。这只会在尝试为 iPhone retina、iPad 和 iPad retina 构建瓦片 map 系统时带来更多麻烦。

我决定一起避免这个问题。我现在没有在我的项目中使用通用应用程序。我有一个 iPhone 项目和一个单独的 iPad 项目。这样,要使用 Retina,我只需在每个项目中添加 @2x 文件扩展名即可。

这确实有效(更容易)。对那些只为 Retina iPhone 构建的智者说一句…….tmx 文件中的平铺高度和宽度大小减半,否则你将有很多时间尝试处理内容缩放。

关于ios - JSTileMap 如何处理视网膜和 ipad/iphone 瓦片 map ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21001806/

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