【发布时间】:2011-07-15 00:34:18
【问题描述】:
我有一个用户可以在上面绘制的画布。我通过从触摸位置减去画布位置来计算用户想要绘制的坐标。
当画布被变换(3d 与否)时,这显然会停止工作。
有什么聪明的方法来处理这个问题吗?
【问题讨论】:
我有一个用户可以在上面绘制的画布。我通过从触摸位置减去画布位置来计算用户想要绘制的坐标。
当画布被变换(3d 与否)时,这显然会停止工作。
有什么聪明的方法来处理这个问题吗?
【问题讨论】:
这很棘手。
要使其工作,您需要将 2D 触摸坐标映射到转换后的坐标空间。我怀疑你是否可以做到这一点,而无需将画布绘图包装到一些为你处理此问题的代码中,或者有一个你可以并行提供转换的类。
另外一件有趣的事是 SVG。它为您处理所有场景管理和点击事件。在此处阅读更多信息:What is the difference between SVG and HTML5 Canvas?
留意 HTML5 画布场景库。尤其是 JavaScript 的游戏工具包有这样的工具。
【讨论】:
我想我刚刚找到它:
window.webkitConvertPointFromPageToNode() 和 window.webkitConvertPointFromNodeToPage()【讨论】: