制作一款打飞机游戏67:更好的瞄准
敌人改造
首先,我们需要对敌人进行改造。这包括“去地点”命令以及地面敌人的处理。这些都是我今天想要着手解决的事情。
敌人函数重写
让我们从敌人函数开始。在“大脑编辑器”中,我们执行了所有的敌人行为命令。这些命令被转换成敌人的动画目标值等。在“敌人函数”中,我们实际上执行了敌人的动画、移动和速度变化等行为。
我注意到,有些代码段存在问题。例如,我们有69个令牌专门用于“跟随”命令,但我们现在并没有使用这个命令。此外,动画速度和方向的代码块几乎是完全相同的,这让我觉得它们可以合并。
智能代码片段
我发现了一段非常智能的代码。它根据敌人的移动角度,结合动画速度的差异,选择一个中间值来计算目标角度。这种方式的好处是,无论动画速度是正是负,它都能自动到达目标值,而且不会超调。这节省了大量的代码和令牌。
修正循环问题
在动画某些敌人时,我发现它们的移动方向有时会出错,导致敌人围绕目标旋转。我重写了代码,确保敌人总是能找到到达目标的最短路径。
位置移动命令
接下来,我想添加一个“位置移动”命令,让敌人能够直接移动到屏幕上的指定位置。我实现了一个简单的函数,但如果敌人已经接近目标位置,它可能会在那里停留一会儿,这不是很理想。
整合与测试
现在,我将这些新功能整合到游戏中,并进行测试。看起来一切工作正常。我们节省了令牌,并使代码更加简洁。