从本教程派生的代码
我开始了一些OpenGL-ES 2.0的安卓系统。我从以下代码中获取了以下代码:http://developer.android.com/training/graphics/opengl/environment.html#renderer
public class MyRenderer implements GLSurfaceView.Renderer {
public void onSurfaceCreated(GL10 unused, EGLConfig config) {
GLES20.glClearColor(0.5f, 0.5f, 0.5f, 1.0f);
}
public void onDrawFrame(GL10 unused) {
GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT);
}
public void onSurfaceChanged(GL10 unused, int width, int height) {
GLES20.glViewport(0, 0, width, height);
}
}我收到以下错误
错误: MyRenderer不是抽象的,也不覆盖渲染器中的抽象方法onSurfaceCreated(GL10,EGLConfig)
有人知道怎么继续吗?我需要使用MyRenderer类来传递给GLSurfaceView,因此简单地声明抽象是不可行的解决方案。有人能解释一下我的问题吗?
发布于 2013-09-01 00:21:06
找到问题了!
导入的不正确版本如下所示
import android.opengl.GLES20;
import android.opengl.GLSurfaceView;
import android.opengl.EGLConfig;
import javax.microedition.khronos.opengles.GL10;但是GLSurfaceView.Renderer想要javax库中的EGLConfig
下面的代码是导入的正确的版本
import android.opengl.GLES20;
import android.opengl.GLSurfaceView;
import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.opengles.GL10;在查看了接口实现之后,我发现了这一点。
public static interface Renderer {
void onSurfaceCreated(javax.microedition.khronos.opengles.GL10 gl10, javax.microedition.khronos.egl.EGLConfig eglConfig);
void onSurfaceChanged(javax.microedition.khronos.opengles.GL10 gl10, int i, int i1);
void onDrawFrame(javax.microedition.khronos.opengles.GL10 gl10);
}https://stackoverflow.com/questions/18553920
复制相似问题