我正在寻找一些指导和/或示例来创建一种触摸对象并旋转它的方法 . 假设我们有一个圆形图像,我希望能够触摸一个点,拖动该圆圈并在我的手指移动时操纵它旋转 .
我找到了很多关于旋转的教程:
-
http://www.williammalone.com/briefs/how-to-rotate-html5-canvas-around-center/
-
http://www.switchonthecode.com/tutorials/html-5-canvas-tutorial-rotation
我只需要将触摸部件合并到一起 .
任何人之前做过这个或者可以解决一些问题?
2 回答
您可以简单地将触摸的旋转映射到元素的
transform: rotate(Ndeg)
CSS .并非所有支持触控的浏览器都会在
event
对象上提供rotate
属性,因此您可以通过数学运算来计算出该值 .如果您希望用户能够多次旋转它,您还需要存储先前的旋转值并根据它调整此旋转值 . :)
您将需要查看
canvas
上实现MouseDown
,MouseUp
和MouseMove
事件侦听器,因为"touch"与触摸屏的交互只不过是花哨的鼠标移动 .MouseDown
和MouseUp
对于查找用户是否正在拖动canvas
非常有用 .MouseMove
是您需要放置旋转处理逻辑的地方 . 其余的是实施:其中
myElement
是画布的DOM元素,myEvent
是要为其添加侦听器的事件的名称,myFunction
是负责该事件逻辑的函数的名称 .或者,你可以使用jQuery来完成大部分工作,因为它有许多更简洁的事件处理方法 .