Java 该项目有缺陷';纹理可以为空';
我创建了一个项目并使用了动画。在我看来,代码是正常的,但在运行应用程序时失败了 图片: 代码:Java 该项目有缺陷';纹理可以为空';,java,libgdx,aide,Java,Libgdx,Aide,我创建了一个项目并使用了动画。在我看来,代码是正常的,但在运行应用程序时失败了 图片: 代码: 纹理纹理2; 喷雾批; 浮点数e=0; 动画ani; 纹理区域[]tr; 纹理区域[][]tr2; int指数,i,j; @凌驾 公共void create() { 试一试{ texture2=新纹理(Gdx.files.internal(“logo.png”);} 捕获(例外情况除外){} 批次=新的SpriteBatch(); tr=新的纹理区域[2]; tr2=纹理区域分割(纹理2,94,18
纹理纹理2;
喷雾批;
浮点数e=0;
动画ani;
纹理区域[]tr;
纹理区域[][]tr2;
int指数,i,j;
@凌驾
公共void create()
{
试一试{
texture2=新纹理(Gdx.files.internal(“logo.png”);}
捕获(例外情况除外){}
批次=新的SpriteBatch();
tr=新的纹理区域[2];
tr2=纹理区域分割(纹理2,94,18);
ani=新动画(1f/4f,tr);
指数=0;
对于(i=0;i哪一行是TextureRegion:37?@vmrvictor我不明白。第37行的代码非常正常。在我尝试捕捉纹理之前,它会说“无法加载文件logo.png”,但可以读取异常:com.badlogic.gdx.graphics.g2d.TextureRegion。(TextureRegion.java:37),您将null作为参数传递,您可以始终在该行进行调试,并查看它的来源from@vmrvictor好的。我尝试了下一个错误:致命异常:GLThread 2638进程:com.mycompany.mygame4,PID:32575 java.lang.NullPointerException:尝试从com.mycompany.mygame4.MyGdxGame.create(MyGdxGame.java:30)的空数组中读取在com.badlogic.gdx.backends.android.AndroidGraphics.onSurfaceChanged(AndroidGraphics.java:236)在android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1555)在android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1270)@vmrvictor上我修复了它。原因是我设置了错误的帧号。感谢您的支持
Texture texture2;
SpriteBatch batch;
float e=0;
Animation ani;
TextureRegion[] tr;
TextureRegion[][] tr2;
int index,i,j;
@Override
public void create()
{
try{
texture2 = new Texture(Gdx.files.internal("logo.png"));}
catch(Exception ex){}
batch = new SpriteBatch();
tr=new TextureRegion[2];
tr2=TextureRegion.split(texture2,94,18);
ani=new Animation(1f/4f,tr);
index=0;
for(i=0;i<2;i++){
for(j=0;j<2;j++){
tr[index++]=tr2[j][i];
}
}
}
@Override
public void render()
{
Gdx.gl.glClearColor(1, 1, 1, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
e+=Gdx.graphics.getDeltaTime();
batch.begin();
batch.draw(ani.getKeyFrame(e),0,0);
/*batch.draw(texture, Gdx.graphics.getWidth() / 4, 0,
Gdx.graphics.getWidth() / 2, Gdx.graphics.getWidth() / 2);*/
batch.end();
}
FATAL EXCEPTION: GLThread 2510
Process: com.mycompany.mygame4, PID: 21018
java.lang.IllegalArgumentException: texture cannot be null.
at com.badlogic.gdx.graphics.g2d.TextureRegion.<init>(TextureRegion.java:37)
at com.badlogic.gdx.graphics.g2d.TextureRegion.split(TextureRegion.java:276)
at com.mycompany.mygame4.MyGdxGame.create(MyGdxGame.java:25)
at com.badlogic.gdx.backends.android.AndroidGraphics.onSurfaceChanged(AndroidGraphics.java:236)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1555)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1270)