读 Beginning Android Games 2nd Edition (二十一) 封装OpenGL之GLGraphics类
2013-01-28 10:06
459 查看
在此书前面的内容中,主要声明和实现了音频,文件存储等接口,接下的章节会用到OpenGL,并对它进行一定程度的封装,重用了部分前面章节的代码
首先是GLGraphics类,这个类实现对来自GLSurfaceView的实例 GL10的跟踪
这个类非常简单,只有几个getters和setters,需要注意的是我们会在GLSurfaceView渲染线程中设置它,因此使用它调用在UI线程上的View 中的方法,可以会产生异常.基于这种情况,我们只从该类中获取GLSurfaceView的宽和高,从而避免了这个问题
首先是GLGraphics类,这个类实现对来自GLSurfaceView的实例 GL10的跟踪
package com.badlogic.androidgames.framework.impl; import javax.microedition.khronos.opengles.GL10; import android.opengl.GLSurfaceView; public class GLGraphics { GLSurfaceView glView; GL10 gl; GLGraphics(GLSurfaceView glView) { this.glView = glView; } public GL10 getGL() { return gl; } void setGL(GL10 gl) { this.gl = gl; } public int getWidth() { return glView.getWidth(); } public int getHeight() { return glView.getHeight(); } }
这个类非常简单,只有几个getters和setters,需要注意的是我们会在GLSurfaceView渲染线程中设置它,因此使用它调用在UI线程上的View 中的方法,可以会产生异常.基于这种情况,我们只从该类中获取GLSurfaceView的宽和高,从而避免了这个问题
相关文章推荐
- 读 Beginning Android Games 2nd Edition (二十二) 封装OpenGL之GLGame类
- 读 Beginning Android Games 2nd Edition (十三) "Nom先生"游戏设计
- 读 Beginning Android Games 2nd Edition (一) 创建读取文件IO的工具类
- 读 Beginning Android Games 2nd Edition (十四) 玩家设置存储类
- 读 Beginning Android Games 2nd Edition (十五) 游戏主菜单
- 读 Beginning Android Games 2nd Edition (十八) 贪食蛇类
- 读 Beginning Android Games 2nd Edition (九) 创建像素图类
- 读 Beginning Android Games 2nd Edition (十二) 把框架基础功能放入Game类中
- 读 Beginning Android Games 2nd Edition (二) 创建声音工具类
- 读 Beginning Android Games 2nd Edition (六) 创建键盘事件处理类
- 读 Beginning Android Games 2nd Edition (十) 创建绘图类
- 读 Beginning Android Games 2nd Edition (十一) 加入游戏暂停/恢复功能
- 读 Beginning Android Games 2nd Edition (三) 创建速度感应器事件监听类
- 读 Beginning Android Games 2nd Edition (十六) 游戏帮助
- 读Beginning Android Games 2nd Edition中的贪吃蛇游戏
- 读 Beginning Android Games 2nd Edition (四) 创建罗盘事件监听类
- 读 Beginning Android Games 2nd Edition (八) 创建输入事件处理类
- 读 Beginning Android Games 2nd Edition (七) 创建Touch事件处理类
- 读 Beginning Android Games 2nd Edition (十七) 分数榜类
- 读 Beginning Android Games 2nd Edition (十九) 游戏World类