我已经制作了使2个物体成为实体的功能(例如玩家和墙壁)。
所以我有点问题。如果我只从右边和左边走到墙上,它会改变我的位置,这个功能非常有效。如果仅从顶部和底部相同。但是当我结合所有这些功能时,我的英雄无法理解他的位置并且改变了我的位置,就像我来自顶部或底部,但实际上我是从左或右来的。我卡住了,出了什么问题?
makeSolid(object1, object2)
{
if(this.collisionDetectedBetween(object1, object2) && object1.x > object2.x - object2.width && object1.x < object2.x)
object1.x = object2.x - object2.width;
else if(this.collisionDetectedBetween(object1, object2) && object1.x < object2.x + object2.width && object1.x > object2.x)
object1.x = object2.x + object2.width;
else if(this.collisionDetectedBetween(object1, object2) && object1.y < object2.y + object2.height && object1.y > object2.y)
object1.y = object2.y + object2.height;
else if(this.collisionDetectedBetween(object1, object2) && object1.y > object2.y - object2.height && object1.y < object2.y)
object1.y = object2.y - object2.height;
}