老实说,我对 HTML 5 以及如何用纯 HTML 5 制作游戏一无所知。但你还需要知道速度(IE,它们的方向。这样你可以从它们来的地方向后发送它们)
如果它使用标准编程语言,一种方法是使用 while 循环(将精灵向后移动直到发生冲突 == false)。另一种方法是更复杂地计算交点的距离并减去单个 x 和 y 值,这样它们就不会发生碰撞。
编辑:然后最简单的方法就像我说的那样,将移动的对象放在一个while循环中,在每个轴上向后移动1个像素,直到它的碰撞测试为假。例子:
int x1 = 500; //x location on screen
int y2 = 500; //y location
public boolean fixOffSetX(Sprite s) {
int x2 = s.getX();
int y2 = s.getY();
//not writing the whole thing
//enter a while loop until its not colliding anymore
while(collision is still true) {
x--; or x++;
//depending on direction
//(which is why you need to know velocity/direction of your sprites)
//do the same for the Y axis.
}
}
//This method will return if the 2 sprites collided, you do this one
public boolean collisionTest(Sprite s1, Sprite s2) {}
您应该考虑进行非常基本的碰撞,因为它是编程中非常复杂的部分