创建一个 Eclipse 游戏插件,第 2 部分: 构建和发射 BB 枪
2009-12-14 00:00:00 来源:WEB开发网粗体的代码是新添加的代码。请注意 TableViewer 对象是全局和静态的,所以可以从 OpenGL 代码访问它。而且,在游戏运行之后,再次使用 Start Game 按钮不会重新启动游戏。在下一节,要扩展 GLScene 类来创建自己的定制 OpenGL 布景。
设置定制的 GLScene
下载的示例插件自带了几个布景,可以看一看。但是在这个教程中,将构建自己的布景,并在这个布景上构建游戏。
导入类依赖项
布景类依赖于其他几个类。所以,需要导入它们以便使用。请创建 com.ibm.eclipse.shootout.scenes 包,并在这个包中建立一个新类:GameScene 类。然后定义这个类,如清单 2 所示。
清单 2. 类依赖项package com.ibm.eclipse.shootout.scenes;
import com.ibm.eclipse.shootout.views.ShootoutView;
import org.eclipse.swt.examples.openglview.CompiledShape;
import org.eclipse.swt.examples.openglview.GLScene;
import org.eclipse.swt.examples.openglview.SceneGrip;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.opengl.GL;
import org.eclipse.opengl.GLU;
import java.util.Timer;
import java.util.TimerTask;
public class GameScene extends GLScene {
请注意导入了 ShootoutView 类,要用它得到任务视图中任务的数量。然后再导入三个类:
CompiledShape 编译的形状是每个形状类都要扩展的类。它有一些方便的方法,有助于把 OpenGL 的细节抽象掉。GLScene 这个类是新的 GameScene 类要扩展的类。它也有助于抽象掉 OpenGL 的一些低级细节,这超出了本教程的范围。但是,可以放心地使用它们。SceneGrip 这是一个很酷的类,它处理来自 OpenGL 画布的事件。这些事件包括鼠标和键盘事件。在本教程后面,将用键盘发射 BB 弹,并击碎虫子。
更多精彩
赞助商链接