当玩家比敌人更大时如何摧毁敌人

时间:2018-01-31 18:35:58

标签: javascript css html5 game-physics

我想要做的就是如果玩家从侧面接触到敌人那么玩家要么失去生命,要么让游戏结束。 但是如果玩家跳到敌人之上,那么它就会导致敌人消失。

当玩家在地面上时玩家触摸敌人 (玩家y轴等于敌人y轴)......

player.y == enemy.y

当玩家跳到敌人之上时。 (玩家y轴大于敌人y轴)......

player.y > enemy.y

到目前为止,这是我的代码......

 Level.prototype.playerTouched = function(type, actor) {
      if (type == "enemy" && this.status == null && player.y == enemy.y) {
        this.status = "lost";
        this.finishDelay = 1;
      } else if (type == "enemy" && player.y > enemy.y) {
        this.actors = this.actors.filter(function(other) {
          return other != actor;
        });
      }
    };

1 个答案:

答案 0 :(得分:0)

如果你不想在这种情况下处理角度计算,那么你需要对撞机的顶部和底部位置

简单的逻辑就像那样

if(playercollider.originY > enemycollider.originY && playercollider.originX > enemycollider.leftX && playercollider.originX < enemycollider.rightX)
{
    //Enemy gets hurt
}
else
{
    //Player gets hurt
}