Javascript 当玩家.y大于敌人.y时如何消灭敌人
我想做的是,如果玩家从侧面碰到敌人,那么玩家要么失去生命,要么导致游戏结束。 但是如果玩家跳到敌人的头顶上,就会导致敌人消失 当玩家在地面上触碰敌人时 (玩家的y轴等于敌人的y轴)Javascript 当玩家.y大于敌人.y时如何消灭敌人,javascript,css,html,game-physics,Javascript,Css,Html,Game Physics,我想做的是,如果玩家从侧面碰到敌人,那么玩家要么失去生命,要么导致游戏结束。 但是如果玩家跳到敌人的头顶上,就会导致敌人消失 当玩家在地面上触碰敌人时 (玩家的y轴等于敌人的y轴) player.y==敌人.y 及 当玩家跳到敌人身上时。 (玩家的y轴大于敌人的y轴) 玩家.y>敌人.y 这是我到目前为止的代码 Level.prototype.playerTouched=函数(类型、参与者){ if(type==“敌军”&&this.status==null&&player.y==敌军.y){
player.y==敌人.y
及
当玩家跳到敌人身上时。
(玩家的y轴大于敌人的y轴)
玩家.y>敌人.y
这是我到目前为止的代码
Level.prototype.playerTouched=函数(类型、参与者){
if(type==“敌军”&&this.status==null&&player.y==敌军.y){
this.status=“丢失”;
this.finishDelay=1;
}else if(类型==“敌人”&&player.y>敌人.y){
this.actors=this.actors.filter(函数(其他)){
还其他的!=演员;
});
}
};代码>如果您不想在这种情况下处理角度计算,则需要碰撞器的顶部和底部位置
简单的逻辑就是这样
if(playercollider.originY > enemycollider.originY && playercollider.originX > enemycollider.leftX && playercollider.originX < enemycollider.rightX)
{
//Enemy gets hurt
}
else
{
//Player gets hurt
}
if(playercollider.originY>enemycollider.originY&&playercollider.originX>enemycollider.leftX&&playercollider.originX
有点不清楚你在问什么。这段代码中哪些有效,哪些无效?那么问题出在哪里?你在问什么?我相信这是用javascript player.y编写的正确方法。y敌人。y玩家y大于敌人y。我遇到的问题是,当我将它们添加到代码中时,它就不起作用了。但是,没有它们,代码就可以正常工作。所以我相信我遇到的问题是我没有以正确的方式添加它们。当我尝试添加代码时,会发生的是游戏冻结。因此,它正在做一些事情。然而,我还没有得到它去做我想做的。也就是说,如果玩家从侧面碰到敌人,那么玩家要么失去生命,要么导致游戏结束。但是如果玩家跳到敌人的头顶上,它就会导致敌人消失。这很奇怪,如果你仍然想解决这个问题,请与我们分享更多的代码行。。。你可以在这里查看我的游戏,只需单击查看源代码即可查看代码。在Level.prototype.playerTouched函数中,无法读取玩家和触摸演员的位置值?为什么不呢?console.log(“播放器Y:+this.pos.Y”);你得到的是//玩家Y:未定义