在JavaScript中,如何判断对象何时到达可见窗口的末尾?
我正在做一个游戏。我有一个15000x15000像素的竞技场。显然,没有一个现有的屏幕有这么多像素,所以我让用户使用箭头键滚动来更改窗口。我希望能够检测我的对象this.localTank何时到达可视窗口的边缘,以便根据需要滚动窗口。如何实现这一点?您可以使用在JavaScript中,如何判断对象何时到达可见窗口的末尾?,javascript,Javascript,我正在做一个游戏。我有一个15000x15000像素的竞技场。显然,没有一个现有的屏幕有这么多像素,所以我让用户使用箭头键滚动来更改窗口。我希望能够检测我的对象this.localTank何时到达可视窗口的边缘,以便根据需要滚动窗口。如何实现这一点?您可以使用元素.getBoundingClientRect().right属性,窗口.innerWidth 正文{ 宽度:15000px; } #坦克{ 显示:块; 位置:相对位置; 宽度:50px; 高度:50px; 左:0px; } 坦克 v
元素.getBoundingClientRect()
.right
属性,窗口.innerWidth
正文{
宽度:15000px;
}
#坦克{
显示:块;
位置:相对位置;
宽度:50px;
高度:50px;
左:0px;
}
坦克
var tank=document.getElementById(“tank”);
函数getTankPosition(){
var left=window.getComputedStyle(tank).left;
tank.style.left=parseInt(左)+50+“px”;
if(tank.getBoundingClientRect().right>=window.innerWidth){
//做事
console.log(tank.getBoundingClientRect().right,window.innerWidth);
}
}
tank.addEventListener(“单击”,获取位置)
您知道油箱和屏幕的位置和尺寸:screen.newX=Math.max(Math.min(screen.x,tank.x),tank.x+tank.width-screen.width)代码>假设油箱和屏幕的注册点已离开。请提供您已经编写的一些代码。