[转载]android 游戏导引(1. 建立 OpenGL 项目)

baacloud免费翻墙vpn注册使用

[转载]android 游戏导引(1. 建立 OpenGL 项目) – 圣斗士 – 博客园.

Android 游戏导引(1. 建立 OpenGL 项目)

1 搭建环境

我的环境是 mac, 鉴于 windows 下搭建的教程网上很多,大家可以 google 之。说一下 mac 下的环境搭建过程。

  1. 下载 mac 版本的 Android SDK。天朝墙很坚固,贴下 2.3 下载地址,可以用超强盗链功能的迅雷下载。
    Platform Package Size MD5 Checksum
    Mac OS X (intel) android-sdk_r08-mac_86.zip 28797617 bytes d2e392c4e4680cbf2dfd6dbf82b662c7
    Linux (i386) android-sdk_r08-linux_86.tgz 26817291 bytes 3b626645b223d137d27beefbda0c94bc
  2. 解压文件。点击 tool 目录下的 Android 文件。选择要下载的相应版本的 SDK, 文档,工具等。
  3. android 要求 jdk 版本大于 1.5, mac os x上预装的是 1.6 的版本。(java -version查看)。所以不必再下 jdk 了(想下官网也没提供mac版本)。
  4. 下载 Eclipse, 版本是 for Java Developers 的就可以。解压到某个文件夹下,直接运行其中的eclipse 就使用。
  5. 安装 adt。 Eclipse 的 Help菜单下的 Install new Software…. 点击 add 按钮, 在弹出的对话框 Location 中,输入 http://dl-ssl.google.com/android/eclipse/, OK, 省略。。。
  6. 配置 Eclipse 的android 环境。重启 Eclipse, 点击Eclipse 菜单下的 Preferences, 打开设置界面。找到android 项, 设置好 android sdk 目录,点 apply, 会显示你所有的 sdk 版本。OK。
  7. 建立一个 avd。 打开 Eclipse 的 Windows 菜单下的 “Android SDK and AVD”,创建好一个 avd。就正式配置成功了。

2 创建一个 android 项目

“File” -> “New”-> “Project”: 选择 android 工程:

设置好项目的信息和sdk版本:

好了一个项目就创建完了。

3 建立 OpenGL 程序框架

默认的,建立的程序中,一个 activity 的源码如下:

public class GlGame extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}

OpenGL 有自己的Surface: GLSurfaceView, 它内部提供了一个 Renderer 接口,我们所要做的就是注册一个自己的 Renderer。好了,先看我们的 activity:

import android.app.Activity;
import android.opengl.GLSurfaceView;
import android.opengl.GLSurfaceView.Renderer;
import android.os.Bundle;
public class GlGame extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.main);
Renderer render = new MyRenderer();//要实现的 Renderer
GLSurfaceView glView = new GLSurfaceView(this);
glView.setRenderer(render);
setContentView(glView);
}
}

Renderer 必须要实现3个抽象方法:

  • public void onDrawFrame(GL10 gl) 绘制
  • public void onSurfaceChanged(GL10 gl, int width, int height) 窗口大小改变
  • public void onSurfaceCreated(GL10 gl, EGLConfig config) 窗口建立

添加类 MyRenderer:

01 import javax.microedition.khronos.egl.EGLConfig;
02 import javax.microedition.khronos.opengles.GL10;
03
04 import android.opengl.GLSurfaceView.Renderer;
05
06 public class MyRenderer implements Renderer{
07
08 public void onDrawFrame(GL10 gl) {
09 gl.glClearColor(1, 0, 0, 0);
10 // 清除屏幕和深度缓存
11 gl.glClear(GL10.GL_COLOR_BUFFER_BIT) | GL10.GL_DEPTH_BUFFER_BIT);
12 }
13
14 public void onSurfaceChanged(GL10 gl, int width, int height) {
15 // 设置 OpenGL 场景的大小
16 gl.glViewport(0, 0, width, height);
17 }
18
19 public void onSurfaceCreated(GL10 gl, EGLConfig config) {
20 // TODO Auto-generated method stub
21
22 }
23
24 }

好了一个 OpenGL 框架就搭好了。接下来我们就进行可爱地屏幕绘制相关地东西了。下次再说吧。

赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏