当前位置:嗨网首页>书籍在线阅读

13-玩家

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

9.3.4 玩家

玩家和所有玩家的当前属性都被保存在player对象中。尽管微型坦克迷宫是一个简单的游戏,但是也需要许多属性。以下是对每个属性的表述列表。

  • player.row:玩家在15×15的游戏区域中所在的当前行。
  • player.col:玩家在15×15的游戏区域中所在的当前列。
  • player.nextRow:在方向键被成功按下后,玩家将要移动的目标行。
  • player.nextCol:在方向键被成功按下后,玩家将要移动的目标列。
  • player.currentTile:用于显示玩家的图片在图片表playerTiles中的编号。
  • player.rotation:在开始时,玩家向上,即旋转0°。当玩家在4个基本方向上移动时,玩家的旋转角度将变为玩家移动后所面向的方向。
  • player.speed:玩家对象在每一帧中移动的像素数。
  • player.destinationX:32×32 大小的玩家对象移动到新区块之后最终位置的x轴坐标。该属性表示了新位置左上角的x轴坐标。在播放玩家移动动画的游戏阶段,这个值决定了玩家将要抵达的新的x轴坐标位置。
  • player.destinationY:32×32大小的玩家对象移动到新区块之后最终位置的y轴坐标。该属性表示了新位置左上角的 y 轴坐标。在播放玩家移动动画的游戏阶段,这个值决定了玩家将要抵达的新的y轴坐标位置。
  • player.x:32×32大小的玩家对象的左上角的x轴坐标。
  • player.y:32×32大小的玩家对象的左上角的y轴坐标。
  • player.dx:播放动画时,玩家在x方向上每一帧的变化。这个值可能是−1、0或1,这取决于玩家移动的方向。
  • player.dy:播放动画时每一帧玩家在y方向上的变化。这个值可能是−1、0或1,这取决于玩家移动的方向。
  • player.hit:当玩家移动到一个被敌方坦克或墙体占据的位置时,该属性设置为true。
  • player.dead:当player.hit为true时,玩家将在游戏区域上被一个爆炸的精灵图替代。当dead属性为true时,将不会在游戏屏幕上渲染玩家对象。
  • player.win:当玩家抵达目标时,该属性被设置为true。

敌人和玩家共享许多相同的属性,这是由于它们在游戏区域上计算移动的方式是相同的。下面介绍如何构建敌人对象。