我正在设置一个回合制游戏,其中两个玩家分别控制一个坦克并互相射击。我想进行设置,所以我对两个战车都使用了一组控件,根据谁在玩,一个名为“ turn”的变量设置为1或2。我正在使用名为tank1和tank2的对象来保存每个镜头的所有属性。现在,控件如下所示:
function adjustCannonAngle() {
if (upPressed == true && tank1.angle < 179 && turn == 1) {
tank1.angle += tank1.angleSpeed;
} else if (downPressed == true && tank1.angle > 1 && turn == 1) {
tank1.angle -= tank1.angleSpeed;
} else if (upPressed == true && tank2.angle < 179 && turn == 2) {
tank2.angle += tank2.angleSpeed;
} else if (downPressed == true && tank2.angle > 1 && turn == 2) {
tank2.angle -= tank2.angleSpeed;
}
}
但是,如您所见,这需要为每个水箱和水箱2设置一组说明。相反,我想使用一组指令,并使用变量“ turn”的值来指示修改了哪个油箱的对象属性。像
var turn = 1;
function adjustCannonAngle() {
if (upPressed == true && tank[turn].angle < 179) {
tank[turn].angle += tank[turn].angleSpeed;
} else if (downPressed == true && tank[turn].angle > 1) {
tank[turn].angle -= tank[turn].angleSpeed;
}
那样,仅改变转弯值将影响整个代码,我将能够减少一半的代码。
使用Javascript可以实现吗?