0

私の主な活動は次のとおりです。コンテンツ ビューを sfgameview のインスタンスに設定します。また、(一番下の) ようなレンダラーもありますが、sfgameview のコンテンツ (99% の確率) が見つからないか、アプリがクラッシュする原因となっています。

package ---;

imports ---;    

public class Main extends Activity {

private SFGameView gameView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    gameView = new SFGameView(this);
    setContentView(gameView);

}

@Override
protected void onPause() {
    // TODO Auto-generated method stub
    super.onPause();
    gameView.onPause();
}

@Override
protected void onResume() {
    // TODO Auto-generated method stub
    super.onResume();
    gameView.onResume();
}

}

レンダラー:

package ---;

imports ---;

public class SFGameRenderer implements Renderer {

variables---;

@Override
public void onDrawFrame(GL10 gl) {
    // TODO Auto-generated method stub
    try {
        Thread.sleep(1000/60);
    } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    gl.glClear(GL10.GL_COLOR_BUFFER_BIT|GL10.GL_DEPTH_BUFFER_BIT);



    gl.glEnable(GL10.GL_BLEND);
    gl.glBlendFunc(GL10.GL_ONE, GL10.GL_ONE);
}

@Override
public void onSurfaceChanged(GL10 gl, int width, int height) {
    gl.glViewport(0, 0, width, height);
    gl.glMatrixMode(GL10.GL_PROJECTION);
    gl.glLoadIdentity();
    gl.glOrthof(0f, 1f, 0f, 1f, -1f, 1f);

}

@Override
public void onSurfaceCreated(GL10 gl, EGLConfig arg1) {

    gl.glEnable(GL10.GL_TEXTURE_2D);

    gl.glClearDepthf(1.0f);
    gl.glEnable(GL10.GL_DEPTH_TEST);
    gl.glDepthFunc(GL10.GL_LEQUAL);

    gl.glEnable(GL10.GL_BLEND);
    gl.glBlendFunc(GL10.GL_ONE, GL10.GL_ONE);

    variable.loadTexture(gl, BACKGROUND_LAYER_ONE,
            context);
    variable2.loadTexture(gl, BACKGROUND_LAYER_TWO,
            context);
}

}

SFGameView:

package com.proandroidgames;

imports---;

public class SFGameView extends GLSurfaceView {

public SFGameView(Context context) {
    super(context);
    //this is empty and i dont know what to put..

}

}

4

1 に答える 1

0

欠けている大きなものの 1 つは、gameView.setRenderer(new SFGameRenderer()) です。ここには多くのものが欠けているため、これらのいずれかが原因でクラッシュする可能性があります。

Android OpenGL TrainingまたはAndroid Lesson One: Getting Startedから実行中のサンプルを取得できます。免責事項: 私は 2 番目のリンク先サイトを管理しています。

于 2013-02-22T02:30:14.143 に答える