如何在我的HTML5画布鼠标平移方法中删除抖动效果

How to remove wobble effect in my HTML5 canvas mousepan method?

本文关键字:方法 删除 抖动 鼠标 我的 HTML5 布鼠标      更新时间:2023-09-26

我正在开发一个基于tile的游戏项目,该项目使用一个巨大的HTML5画布来渲染棋盘。

目前,我正在消除错误,以创造尽可能好的用户体验,目前我的鼠标平移脚本在检测何时切换方向时产生了一种不幸的抖动效果。请找到下面的代码,任何软化效果的方法(这是由(e.pageX >= oldx)的苛刻阈值引起的)都是非常棒的。一切都在追求一个流畅的画布鼠标平移脚本!

if (e.pageX >= oldx) {
scroll.x -= (e.pageX - this.offsetLeft) / 45;
if (scroll.y < 0) {
    scroll.y = 0;
};
if (scroll.x < 0) {
    scroll.x = 0;
};
} else {
scroll.x += (e.pageX - this.offsetLeft) / 45;
if (scroll.y < 0) {
    scroll.y = 0;
};
if (scroll.x < 0) {
    scroll.x = 0;
};
}
if (e.pageY >= oldy) {
scroll.y -= (e.pageY - this.offsetTop) / 45;
if (scroll.y < 0) {
    scroll.y = 0;
};
if (scroll.x < 0) {
    scroll.x = 0;
};
} else {
scroll.y += (e.pageY - this.offsetTop) / 45;
if (scroll.y < 0) {
    scroll.y = 0;
};
if (scroll.x < 0) {
    scroll.x = 0;
};
}
oldx = e.pageX;
oldy = e.pageY;

不知道抖动效应是什么意思。我只能猜测,但试着四舍五入你的坐标值。Math.round((e.pageY - this.offsetTop) / 45)