【发布时间】:2015-08-06 12:55:13
【问题描述】:
我的 iOS 应用程序(使用 CocosSharp 构建,用于 Xamarin 的 Cocos2D 端口)以 640x960 像素的设计分辨率运行,并且我有一些从 spritesheet 加载的 64x64 精灵。
我正在使用 TexturePacker 创建 spritesheets,并对其进行了配置,因此它在帧之间没有任何间距。
每帧都是 64x64 像素,当我检查 spritesheet 时,它看起来非常好。
当我尝试基于帧 (SpriteFrame) 显示 CCSprites 时,它在设备上运行时看起来总是一团糟(iPhone 4)
如果我将每个帧保存为单独的精灵并显示它们,它可以正常工作,但当我使用 SpriteFrame 和精灵表显示它们时就不行了。
这是它在设备上的样子:
这是它在模拟器中的样子:
还有其他人经历过这种情况吗?
非常感谢所有帮助,我已经坚持了一天!
更新:
这是一个演示该问题的小演示解决方案(需要 Xamarin iOS 构建)。
您可以在模拟器或设备上运行它,两者都显示相同的问题。
【问题讨论】:
-
这是 .pvr 吗? cocos2d 什么版本?
-
这是一个包含框架的PLIST。它是 CocosSharp 1.5.1,它是 Cocos2D 的一个端口。如果我手动为精灵帧指定 CCRects,也会出现此问题。
-
好的...不确定为什么您需要使用 C# 版本为帧编码纹理裁剪...但是在我看来,它看起来像是一个围栏问题... texturePacker plists位置通常从 0 开始。
-
但是为什么它会在模拟器中完美运行呢?
-
添加了显示问题的演示代码
标签: cocos2d-iphone xamarin cocossharp