小编Wil*_*yen的帖子

Javascript 对象在碰撞时粘在 div 对象上

我正在尝试制作一个小游戏,用户可以在其中单击页面上的某个位置,圆圈将跟随指针的位置,从那里,用户可以拖动鼠标使圆圈像弹弓一样移动。我希望圆圈能够从墙壁上弹开。

然而,似乎在圆圈与墙壁碰撞时,圆圈似乎“粘”在墙上而不是立即弹开。我认为这可能是因为圆由于舍入错误而改变方向太快?此外,顶墙的碰撞尚未实现,因为我认为我没有正确声明顶墙 div 对象。

let windowHeight = window.innerHeight;
let windowWidth = window.innerWidth;
//console.log(`Window height: ${windowHeight}, Window width: ${windowWidth}`);

var $ = document.querySelector.bind(document);
var $on = document.addEventListener.bind(document);

var mouseX, mouseY;
$on('mousedown', function (e){
    mouseX = e.clientX || e.pageX;
    mouseY = e.clientY || e.pageY;

    initialX = mouseX;
    initialY = mouseY;
   //console.log('mousedown');
});

$on('mouseup', function (e){
    //var d = Math.hypot(e.clientX - mouseX, e.clientY - mouseY);
    var movebyX = (Math.abs(e.clientX - mouseX));
    var movebyY = (Math.abs(e.clientY - mouseY));
    // Move puck in opposite direction …
Run Code Online (Sandbox Code Playgroud)

html javascript css collision-detection

6
推荐指数
1
解决办法
47
查看次数

标签 统计

collision-detection ×1

css ×1

html ×1

javascript ×1