Android:1024px 图像大小限制?

标签 android image cocos2d-android restriction

我有包含所有图像的 png 文件,但我无法加载超过 1024*1024 的图像。

我尝试加载图像作为纹理:

        InputStream istr = CCDirector.sharedDirector().getActivity().getAssets().open(this.src + "balloon.png");
        Bitmap mybit = BitmapFactory.decodeStream(istr);
        istr.close();

        CCTexture2D metexture = new CCTexture2D();
        metexture.initWithImage(mybit);
        for (int i = 0; i < 16; i++)
        {
            CCSpriteFrame myframe = CCSpriteFrame.frame(metexture, CGRect.make(0, i * 128, 80, 128),               CGPoint.make(0, 0));
            this.balloons_images.add(myframe);      
        }

作为 .plist 的一部分

    CCSpriteFrameCache.sharedSpriteFrameCache().addSpriteFrames(this.src + "balloon.plist");
    this.addChild(CCSprite.sprite(CCSpriteFrameCache.sharedSpriteFrameCache().spriteFrameByName("balloon_16.png")), 20);

    ...
    <key>balloon_16.png</key>
    <dict>
        <key>frame</key>
        <string>{{0,1920},{80,128}}</string>
        <key>offset</key>
        <string>{0,0}</string>
        <key>rotated</key>
        <false/>
        <key>sourceColorRect</key>
        <string>{{0,0},{80,128}}</string>
        <key>sourceSize</key>
        <string>{80,128}</string>
    </dict>
    ...

结果是一样的。所有超过 1024 的图像看起来都像条纹。

enter image description here

有什么办法可以使用大于1024*1024的图片吗?

最佳答案

如果您没有将库作为 jar 文件使用,那么也许如果您在该行中的 org.cocos2d.opengl 包中的类 CCTexture2D.java 中进行更改public static final int kMaxTextureSize = 1024; 值越大,比如2048,也许会更好。

关于Android:1024px 图像大小限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23394833/

相关文章:

android - cocos2d-android:如何显示分数

android - CCbezierTo 不适用于 cocos2d、android

android - Robolectric with Gradle:软件包org.robolectric不存在

javascript - 单击时转到新样式页面的图像页面

android - Android Studio 中的列表 fragment

css - 宽度为 100% 的 svg 图像并不总是 100% 宽

javascript - 节点/圆顶部的 d3 图像不适用于 clipPath

android - Cocos2D Touch 帮助

android - 重新安装应用程序时旧数据出现在 SQLite 数据库中

Android:绘制带有斜角的形状