html5 canvas touch事件,javascript - HTML5 canvas touch panning/scrolling? - Stack Overflow

博主正在开发一个使用HTML5 Canvas的项目,创建了一个4x4的可缩放网格。目前实现了通过按钮进行放大缩小,但面临的问题是如何在触摸屏上实现平移。尽管找到了一些例子,如'phrogz.net/tmp/canvas_zoom_to_cursor.html',但无法将它们应用到自己的项目中。此外,当前的“步进滚动”可能会超出画布边界,需要找到合适的属性来监控边界。开发者使用纯JavaScript,并在其他部分使用了jQuery,希望能在这两个库的基础上解决问题,但若必要也可考虑引入其他库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

I'm working on my first ever HTML5 canvas project. It presents a grid, for simplicity say the size is 4x4. It must be zoomable, for time being pinch zoom is not needed, it's enough to use zoom in/out buttons. I have it working so that the first zoom in doubles the visible size to 2x2 and next one shows area of 1 square, to the user it seems that the center of the grid does not move while zooming, further zooming is not possible. So I have scale() and translate() under control.

Initial view1 2 3 4

5 6 7 8

9 10 11 12

13 14 15 16

After the first zoom

6 7

10 11

I created buttons to move the visible area fixed amount of pixels using translate(), so basically I only need to listen to correct touch event and do a bit more, right? But regardless whatever I try, I cannot figure out how to do it using touch screen (I'm developing on Android). I've seen many examples, including well known http://phrogz.net/tmp/canvas_zoom_to_cursor.html

I would appreciate if someone could point me back to the right direction?

Also, currently my "step scrolling" can go over the canvas borders, which would be the correct property to monitor to know the border is near?

I'm using pure Javascript, jQuery is used for other parts of the project. I would prefer to stick with those two, this is also a learning project for me. But if nothing else works, I can include another library.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值