WEB开发网
开发学院软件开发Java 创建一个 Eclipse 游戏插件,第 2 部分: 构建和发... 阅读

创建一个 Eclipse 游戏插件,第 2 部分: 构建和发射 BB 枪

 2009-12-14 00:00:00 来源:WEB开发网   
核心提示: 清单 7. drawScene 方法protectedvoiddrawScene(){super.drawScene();this.grip.adjust();pow.draw();GL.glTranslatef(.2f,-.2f,9.5f);for(inti=0;i<bullets.le


清单 7. drawScene 方法
  protected void drawScene() { 
    super.drawScene(); 
    this.grip.adjust(); 
     
    pow.draw(); 
    GL.glTranslatef(.2f, -.2f, 9.5f); 
 
    for(int i = 0; i < bullets.length; i++) 
      if(bullets[i] != null) 
        bullets[i].draw(); 
     
    GL.glTranslatef(-.2f, .2f, 2.5f); 
 
    gun.draw(); 
    GL.glTranslatef(-Bug.RADIUS*bugCount, 0.0f, -20f); 
 
    for(int i = 0; i < bugs.length; i++){ 
      bugs[i].draw(); 
      GL.glTranslatef(2*Bug.RADIUS, 0.0f, 0.0f); 
    } 
  } 

请注意,单词 Pow! 是根据原点绘制的。所以我们可以稍做转换,把原点放在枪口末端。然后再移动原点,绘制枪。另一个转换把原点放在绘制虫子的地方。我们在一行中,从左到右绘制虫子。在绘制了每个虫子之后,就把原点移动 2*Bug.RADIUS,这样虫子就不会一个一个叠在一起了。下面,定义 dispose 方法。

在退出时清除对象

当 Eclipse 或视图关闭时,需要取消对象的分配。这是 dispose 方法的用途。请如清单 8 所示那样定义它。


清单 8. 清除对象
public void dispose() { 
    GLU.gluDeleteQuadric(Gun.QUADRIC); 
    GLU.gluDeleteQuadric(Bullet.QUADRIC); 
    GLU.gluDeleteQuadric(Bug.QUADRIC); 
    pow.dispose(); 
    this.gun.dispose(); 
    for(int i = 0; i < bugs.length; i++) 
      bugs[i].dispose(); 
    for(int i = 0; i < bullets.length; i++) 
      bullets[i].dispose(); 
     
    super.dispose(); 
  } 

上一页  4 5 6 7 8 9 10  下一页

Tags:创建 一个 Eclipse

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接