我正在尝试在Web应用程序中使用paper.js,但一直无法使其与多个 Canvas 一起使用。就像作用域在 Canvas 之间混杂在一起一样,因此当我打算在 Canvas 1上绘制时,它出现在 Canvas 2上。
在每种 View 中,我都会像这样初始化纸张:
this.mypaper = new paper.PaperScope();
this.mypaper.setup($("myCanvasId")[0]);
创建新的纸面对象时,应使用本地范围:
var circle = new this.mypaper.Path.Circle(10, 10, 5);
但是,当我在view1中创建一个圆时,它会在view2中绘制它。
我已经读了很多书,但是我仍然没有找到关于如何设置多个纸镜或者如何将 View 彼此隔离的清晰解释。
有谁知道如何正确地在paper.js中使用多个 Canvas ?
编辑:我创建了一个jsFiddle来说明问题:http://jsfiddle.net/94RTX/1/
最佳答案
我尚未与Paper.js进行过广泛的合作,但似乎对Path
的每次调用都不是使用从中访问它的PaperScope
,而是全局的paper
对象。因此,如果您在每个实例化之前将paper
覆盖到所需的PaperScope,它应该可以工作。
See my updated fiddle。
关于javascript - paper.js如何仅使用javascript设置多个 Canvas ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16865863/