android - Cocos2D android背景图片搞砸了

标签 android ccsprite cocos2d-android

所以我现在正在尝试制作一个只有简单静态背景的游戏,但是当我将它绘制到屏幕上时(没有缩放,因为图像的分辨率与屏幕相同)它绘制了底部图像的一部分不正确,其中图像的底部几百个像素在图像下方完全相同。抱歉,这很难解释,但作为新手,我实际上无法发布出现问题的图片。

现在我只是使用一个简单的 Sprite 来渲染这个背景图像。这是正在使用的代码:

    // background layer: another image
    background = CCSprite.sprite("WaterBackground.png");
    // change the transform anchor point (optional)
    background.setPosition(CGPoint.make(GAME_WIDTH/2, GAME_HEIGHT/2));
    addChild(background);

我是不是做错了什么? Cocos2D 不支持这么大的 Sprite 图吗? (分辨率800*1280) 任何帮助将不胜感激!

由于我现在可以上传图片,下面是错误的视觉效果:

The image as it is supposed to look

我游戏中的问题:

enter image description here

如您所见,问题很难描述。问题只存在于这个较大的图像中;我在 GIMP 中手动缩小它,然后为游戏放大它,它看起来不错(除了分辨率较低)。我也尝试缩小这个较大的图像,但仍然导致同样的问题。希望你们能帮助我,因为我不知道什么可能导致这个错误。特别是因为我读到 Cocos2D 支持的最大图像大小是 2048*2048,而我的图像正好在这个范围内。

感谢你们提供的任何帮助!

最佳答案

这是由于纹理大小的限制。 Coсos2d-android 支持最大尺寸为 1024 x 1024 像素的图像。

我遇到了同样的问题,正在寻找解决方法。

编辑

我找到了解决方案 在cocos2d工程中打开org.cocos2d.opengl包中的CCTexture2d.java文件,将kMaxTextureSize由1024改为2048

关于android - Cocos2D android背景图片搞砸了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10606640/

相关文章:

android - 如何在 COCOS2d Android 中使用 CClistview?

android - CCbezierTo 不适用于 cocos2d、android

Android 的 ViewModel 和 MVVM

android - FloatingActionButton 锚定在 View 顶部

Android 应用程序在尝试附加调试器时崩溃

cocos2d-iphone - 如何切换 CCSprite 的图像

android - 发布 apk 中的 Firebase IllegalAccessException

objective-c - 找到最近的CCSprite

cocos2d-iphone - 如何在 Cocos2d 中暂停动画 Sprite 动画?

Android:1024px 图像大小限制?