Java游戏编程原理与实践教程第17章 RGP走迷宫游戏.pptVIP

  • 8
  • 0
  • 约1.86千字
  • 约 6页
  • 2019-07-17 发布于辽宁
  • 举报

Java游戏编程原理与实践教程第17章 RGP走迷宫游戏.ppt

第17章 RGP走迷宫游戏 RGP走迷宫游戏就是玩家通过方向键控制游戏主角RGP人物从绿色通道中走到右下角的出口处。游戏可以提高玩家观察力,训练思维力;开发想象力。RGP走迷宫游戏效果如图17-1所示。游戏中RGP人物有动画的效果。 游戏运行界面 17.2 设计思想 游戏在15×15的方格区域中实现,所以采用二维数组map保存游戏地图信息。根据map[x][y]中记录地图信息在屏幕上绘制图案。这里我们仅定义:0时画出地板floor.gif,1时画出城墙wall.png,当然可以根据游戏的需要定义椅子为2、宝座为3等即可勾勒出一张丰富内容的背景地图。 人物的移动在keyPressed(KeyEvent e)按键事件中处理的,当人物角色的移动符合游戏规则才可以移动,例如碰到墙不移动。无论是否移动均调用repaint()重新绘制窗体。在移动后,判断是否到达出口(13,13)坐标处,如果到达则游戏结束。 RGP人物的动画 大家都很清楚的知道,所谓的动画,并不是一个“会动的画”,而是一组“连续变动的画”,就好比Flash制作时的需要凭借“帧”调节画面运动,在Java游戏开发中一样要通过类似的方式来控制画面。 要实现这点,首先我们需要一组连续的图像。 我们还需要一个变量count充当“计步器”,以明确下步状态。 private int count; 而要想实现动画,最重要的一点,就是画面的连续,即多步操作的处理,为此我们使用到了Java中的Thread,也即线程。 private Thread threadAnime; Java要实现线程,必需要通过继承Thread类或实现Runnable接口。 RGP人物的动画 这里使用Thread 类的继承为例: //内部类,用于处理计步动作。 private class AnimationThread extends Thread { public void run() { while (true) { // count计步 if (count == 0) { count = 1; } else if (count == 1) { count = 0; } // 重绘画面。 repaint(); // 每300 毫秒改变一次动作。 try { Thread.sleep(300); } catch (InterruptedException e) { e.printStackTrace(); } } } } 17.3 走迷宫游戏设计的步骤 17.3.1 设计主窗体类(miGong.java) 17.3.2 设计游戏面板类(MyPanel.java) 游戏面板类MyPanel继承JPanel类,用于实现游戏地图及人物的行走功能。实现KeyListener接口响应用户的按键事件。 图17-4 游戏结束画面

文档评论(0)

1亿VIP精品文档

相关文档