我正在做一个游戏,玩家必须跳到矩形上。我一直这样添加它们。我希望玩家在矩形上时停下来,然后可以从矩形上跳下来。如何停止播放器并继续从那里移动。我试图放置一个玩家变量,但是它只是一路跌落在地,没有注意到障碍。没什么对我有用的,也许我只是在看错东西。通常是因为当碰到障碍物时游戏停止了,这是不同的。而且,每次的高度都不同。感谢您的帮助!
function createObstacle(){
obheight=Math.floor(minHeight+Math.random()*(maxHeight-minHeight+1));
obwidth=Math.floor(minWidth+Math.random()*(maxWidth-minWidth+1));
obwidths.push(obwidth);
obx=600;
oby=400-obheight/2;
obstacle = createSprite(700, oby, obwidth, obheight);
obstacles.add(obstacle);
}
答案 0 :(得分:0)
冲突检测基本上与视频游戏本身一样古老。想像一个球在Pong中与桨相撞,在《太空侵略者》中与子弹相撞,在《吃豆人》中与幽灵相撞等。
在这里我要解释的是假设您正在寻找“字符”矩形的底部以与移动平台连接。例如this
实际上,您要检查的情况是角色边界(矩形)的底部线与障碍物之一的顶部线相交。
示例1-不冲突:
summary
示例2-碰撞:
-----
| P |
-----
-------
| Obs |
|tacle|
-------
-----
| P |
-------
| Obs |
|tacle|
-------
Here's一个小巧的示例,您可以使用它来演示。