Android:1024px图像大小限制?

时间:2014-04-30 17:50:35

标签: 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的图像?

1 个答案:

答案 0 :(得分:1)

如果您没有将库用作jar文件,那么如果您将此行CCTexture2D.java中的org.cocos2d.opengl个包中的类public static final int kMaxTextureSize = 1024;更改为更多,例如2048年,也许会更好。