如何在我的HTML5画布鼠标平移方法中删除抖动效果
How to remove wobble effect in my HTML5 canvas mousepan method?
我正在开发一个基于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)
相关文章:
- 从数组中删除元素的最佳方法是:javascript/jquery
- Es6:能够在设置/更新/删除对象属性时调用自定义方法
- 从数组JavaScript中删除并返回最后n个项的最快方法
- 在jquery中是否有任何方法或位置可以编写从Dom中删除页面后调用的方法
- 什么'是删除WinJS ListView中所有项目的最快方法
- 如何更改/删除同级方法
- 有没有更简洁的方法可以从带有 lodash 的数组中删除条目
- 使用 MVC 删除 JavaScript 中硬编码字符串 Asp.Net 最佳方法
- 如何在jquery中使用单个取消删除方法删除多个事件委托
- Javascript-仅使用pop()方法删除数组中的负值
- 方法删除更多需要的项
- 如何通过javascript触发rail的数据方法=“删除”
- 使用 DOM 方法删除图像元素
- 可以解包() 方法删除正文元素
- 对象不支持属性或方法“删除”
- 在Javascript中处理元素和使用Jquery Remove方法删除元素之间有什么区别
- Javascript .close ()/.next()/.siblings()方法删除表
不工作 - AngularJS:如何使用$destroy方法删除一个元素?
- 使用removeEvents方法删除特定事件
- Jquery .clone()方法.删除克隆