我正在尝试制作一个小游戏,用户可以在其中单击页面上的某个位置,圆圈将跟随指针的位置,从那里,用户可以拖动鼠标使圆圈像弹弓一样移动。我希望圆圈能够从墙壁上弹开。
然而,似乎在圆圈与墙壁碰撞时,圆圈似乎“粘”在墙上而不是立即弹开。我认为这可能是因为圆由于舍入错误而改变方向太快?此外,顶墙的碰撞尚未实现,因为我认为我没有正确声明顶墙 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)