在画布中检测到碰撞后停止播放器移动
Stop Player Movement After Collision Detection In Canvas
我基本上在画布上做了两面墙。一个在顶部,一个在底部。我的玩家被鼠标控制,我想知道如何让玩家不穿过墙壁。
以下是两个对象之间的一般碰撞的函数:
function collides(a, b) {
var val = false;
val = (a.x < b.x + b.width) &&
(a.x + a.width > b.x) &&
(a.y < b.y + b.height) &&
(a.y + a.height > b.y);
return val;
}
以下是检测碰撞检测的代码:
if (collides(player, block)){
//I don't know what goes here.
}
如有任何帮助,我们将不胜感激。
按照您已经做的操作重新定位播放器,并且还将播放器的y
位置固定为始终位于顶墙和底墙之间。
在鼠标移动处理程序中(或玩家被鼠标重新定位的位置):
// reposition the player as you already do
...
// and clamp the player to stay below the top wall
if( player.y < wall.y+wall.height ){ player.y = wall.y+wall.height);
// and clamp the player to stay above the bottom wall
if( player.y+player.height > wall.y ){ player.y = wall.y-player.height);
相关文章:
- 如何检查用户在html5视频播放器中观看了完整的视频
- 音乐播放器使用相同的id播放所有内容
- 在FF和IE中使用vimeo播放器的问题-加载flash播放器而不是使用HTML5播放器
- 使用HTML5播放器时使用Javascript更改Youtube视频
- 可以't根据设备自动调整youtube播放器的大小
- html5视频播放器和视频js之间的关系
- HTML5音频播放器只有在双击后才能在移动浏览器上播放
- 移动设备的动态视口始终包含固定尺寸的视频播放器
- 如何重新绘制背景,使其看起来像我的“播放器”在html5-canvas中移动
- 移动版 Chrome 上的 IFrame 播放器 API
- 分离JPlayer's播放列表从播放器启用滚动移动
- "自动播放“;移动浏览器上的HTML5音频播放器
- HTML5音频播放器的网站和移动使用
- 我需要你帮我在画布上移动我的播放器
- 使用youtube api在移动设备上禁用youtube视频播放器
- 用户事件后,Soundcloud自定义播放器不在移动safari上播放
- 在画布中检测到碰撞后停止播放器移动
- youtube iframe播放器没有't在移动设备上自动切换低带宽的质量
- Xml音频列表播放器不工作的移动和自动播放不工作
- Mediaelements.js音频播放器需要修复移动响应大小