我以paper.js开头。我喜欢这样一个事实,即它引入了一个脚本,其中包含一个text/paperscript mime类型的脚本,该脚本在其范围内运行。但是,脚本可能会很快变大,所以我希望能够将它分成多个脚本以提高可读性。我认为我可以添加多个脚本标记,并让它们都在相同的范围内运行,但显然情况并非如此。同一个paperscope中的多个脚本/说明文字
这两个脚本都被加载并运行,但第二个脚本似乎不在纸张范围内。
我在这里设置了一个例子:http://barbata.nl/SO/Maps/这个例子有一些代码,但我会指出一些重要的部分。
它包含两个paperscripts:
Maps.js是主要的脚本,栅格化图像,并允许移动它。您可以忽略此脚本中的代码,因为它迄今为止工作正常。
Zoom.js是我想要分离缩放功能的脚本。它使用jq.mobi来捕获鼠标的滚轮,因为Paper.js似乎没有该事件。然后它将它转换为对onMouseScroll的调用,与Paper类似。
到目前为止好。实际的问题出现在zoom.js.中的zoomIn
和zoomOut
函数中。
如果我明确地使用纸张对象引用我想缩放视图它的工作原理:
但它没有,当我删除paper
和刚才提到的观点:
function zoomIn()
{
if (view.zoom < 2)
{
view.zoom = view.zoom * 2;
}
}
这让我感到意外,因为我预计该脚本将成为Paperscope中的Paperscript。如果我将这段代码放到Maps.js中,它可以正常工作,所以似乎尽管Paper.js(浏览器中的开发人员工具确认了这一点)加载了zoom.js,但它并未在Paperscope中运行。
我的问题是:我的发现是否正确?难道我做错了什么?为了便于阅读,将Paper.js应用程序划分为多个单元的正确方法是什么?
当然,我可以让它运行,但我想确保我做对了。
请注意,这是自2013年3月列入Paper.js这里把它的人喜欢我,谁没不要点击GitHub问题链接,也不要向下滚动查看是否存在修复和拉取请求。 – speps