游戏开发:智能单位移动实现指南
1. 前期回顾与功能目标
在游戏开发的前期,我们构建了一个用于在游戏中对实体进行动画处理和绘制的框架,并添加了不同类型的建筑、车辆、飞机和地形。同时,还实现了通过鼠标选择这些实体并突出显示所选实体的功能。现在,我们的目标是添加一个框架,以便向选定的单位下达命令,并让实体遵循这些命令,首先要实现的就是单位的移动功能。
2. 单位命令机制
在大多数现代即时战略(RTS)游戏中,已经形成了一套标准的单位命令操作习惯。我们将沿用这种习惯,使用左键选择单位,右键下达命令。具体的命令规则如下:
- 右键点击地图上可导航的地点,命令所选单位移动到该地点。
- 右键点击敌方单位或建筑,命令所有可攻击的所选单位攻击该敌方目标。
- 右键点击友方单位,命令所有所选单位跟随并保护该友方单位。
- 右键点击油田且选中了收割机车辆时,命令收割机移动到油田并进行部署。
为了实现这些命令逻辑,我们需要对 mouse.js 中的 click() 方法进行修改,以处理右键点击事件。以下是修改后的代码:
click:function(ev,rightClick){
// Player clicked inside the canvas
var clickedItem = this.itemUnderMouse();
var shiftPressed = ev.shiftKey;
if (!rightClick){ // Player lef
超级会员免费看
订阅专栏 解锁全文
2568

被折叠的 条评论
为什么被折叠?



