Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android渲染纹理区域显示黑色帧[Java Libgdx]_Java_Android_Opengl Es_Libgdx - Fatal编程技术网

android渲染纹理区域显示黑色帧[Java Libgdx]

android渲染纹理区域显示黑色帧[Java Libgdx],java,android,opengl-es,libgdx,Java,Android,Opengl Es,Libgdx,在android中渲染纹理区域时,与获取图像(我在桌面中获取)相反,我只获取黑盒而不是图像。我有一种感觉,这将与不寻常的4495*260px大小的图像有关。 以下是纹理区域的代码: walkSheet = new Texture(Gdx.files.internal("data/spritesheet5.png")); upFarmer1 = new Sprite (walkSheet, 0, 0, 145, 130); upFarmer2

在android中渲染纹理区域时,与获取图像(我在桌面中获取)相反,我只获取黑盒而不是图像。我有一种感觉,这将与不寻常的4495*260px大小的图像有关。 以下是纹理区域的代码:

        walkSheet = new Texture(Gdx.files.internal("data/spritesheet5.png"));

        upFarmer1 = new Sprite (walkSheet, 0, 0, 145, 130);  

        upFarmer2 = new Sprite (walkSheet, 170, 0, 170, 170);
        upFarmer3 = new Sprite (walkSheet, 340, 0, 170, 170);
        upFarmer4 = new Sprite (walkSheet, 680, 0, 170, 170);
        upFarmer5 = new Sprite (walkSheet, 0, 170, 170, 170);
        upFarmer6 = new Sprite (walkSheet, 170, 170, 170, 170);
        upFarmer7= new Sprite (walkSheet, 340, 170, 170, 170);
        upFarmer8= new Sprite (walkSheet, 680, 170, 170, 170);

        TextureRegion[][] tmp = TextureRegion.split(walkSheet, walkSheet.getWidth()/FRAME_COLS, walkSheet.getHeight()/FRAME_ROWS);              // #10
        walkFrames = new TextureRegion[FRAME_COLS * FRAME_ROWS];

        int index = 0;
        for (int i = 0; i < FRAME_ROWS; i++) {
            for (int j = 0; j < FRAME_COLS; j++) {
                walkFrames[index++] = tmp[i][j];
            }
        }
//        walkAnimation = new Animation(0.225f, walkFrames);      // #11
        walkAnimation = new Animation(1/90f, walkFrames);      // #11
        spriteBatch = new SpriteBatch();                // #12
        stateTime = 0f;
        }
walkSheet=new纹理(Gdx.files.internal(“data/spritesheet5.png”);
upFarmer1=新精灵(walkSheet,0,0,145,130);
upFarmer2=新精灵(walkSheet,170,0,170,170);
upFarmer3=新精灵(walkSheet,340,0,170,170);
upFarmer4=新精灵(walkSheet,680,0170170);
upFarmer5=新精灵(walkSheet,0,170,170,170);
upFarmer6=新精灵(walkSheet,170170170170);
upFarmer7=新精灵(walkSheet,340、170、170、170);
upFarmer8=新精灵(walkSheet,680170170170);
TextureRegion[][]tmp=TextureRegion.split(walkSheet,walkSheet.getWidth()/FRAME\u COLS,walkSheet.getHeight()/FRAME\u ROWS);//#10
walkFrames=新纹理区域[FRAME_COLS*FRAME_ROWS];
int指数=0;
对于(int i=0;i

我一直在使用libgdx,我相信它使用的是GL20或GL10,但我对这方面的经验很少,如果是问题,请告诉我解决应用程序中问题的位置。

并非所有Android设备都支持大于2048的大小。请注意上面的@Tenfour04,但也许你可以尝试在API级别11+中使用android:largeHeap=“true”,我从来没有使用过libgdx,但也许有帮助,看看这个问题(尽管名称不同,它也适用于android,而不仅仅是桌面)