技术开发 频道

Android 游戏开发经典方法探讨

  2) 实现键盘事件:

  键盘主要起操作作用, 在任何的手机游戏中键盘都是起重要的用,要本游戏中, 他就是起控制蛇的行走方向: 现在我们分析他的代码:

  if (keyCode == KeyEvent.KEYCODE_DPAD_DOWN) {

  if (mDirection != NORTH) {

  mNextDirection = SOUTH;

  }

  return (true);

  }

  if (keyCode == KeyEvent.KEYCODE_DPAD_LEFT) {

  if (mDirection != EAST) {

  mNextDirection = WEST;

  }

  return (true);

  }

  if (keyCode == KeyEvent.KEYCODE_DPAD_RIGHT) {

  if (mDirection != WEST) {

  mNextDirection = EAST;

  }

  return (true);

  }

  以上的代码大家一看就明白, 就是通过判断那个键按下, 然后再给要走的方向(mDirection)赋值。

  以下的代码就是通

  switch (mDirection) {

  case EAST: {

  newHead = new Coordinate(head.x + 1, head.y);

  break;

  }

  case WEST: {

  newHead = new Coordinate(head.x - 1, head.y);

  break;

  }

  case NORTH: {

  newHead = new Coordinate(head.x, head.y - 1);

  break;

  }

  case SOUTH: {

  newHead = new Coordinate(head.x, head.y + 1);

  break;

  }

  从以上的键盘代码我们可以看得出,程序中是通过触发来改变坐标(+1,-1)的方式来改蛇头的方向, 可见坐标在游戏编程中的作用, 这个也是根据手机的屏幕是点阵的方式来显示, 所以坐标就是一个定位器。 在这里大家可能还有一个疑问。 就是就这个蛇什么能够以“7”字形来移动行走, 其实我们稍微仔细观察一下就知道了,在这里面, 他们也是通过坐标的传递来实现的, 只要把头部的坐标点依次赋给下一个点, 后面的每一个点都走过了头部所走过的点,而蛇的头部就是负责去获取坐标,整个蛇的行走起来就很自然和连贯。 坐标的方向变换又是通过判断那个方向按键的按下来改变的, 这样一来, 键盘的作用就发挥出来了。

  蛇吃苹果又是怎样去实现?上面我所说到的坐标就起了作用。在蛇所经过的每一个坐标, 他们都要在苹果所在的(ArrayList mAppleList = new ArrayList())坐标集里面集依次判断,若是坐标相同,那个这个苹果就被蛇吃了 。

0
相关文章