我有一份说明书,我需要通过我的Javascript调用这篇论文中的函数来改变一些值。
我知道我可以用某种方式写它,我不需要papercript但只需要javascript。 但我不明白它。
还有其他一些方法可以将bookscript函数导出到javascript吗?或者还有其他一些方法
我也看到过类似的东西:但它也没有用: - (
https://github.com/paperjs/paper.js/issues/17
---------我目前试图解决它--------
我的javascript:
var paperscript = {};
我的论文代码到现在为止:
this.someFunction = function(){ /*doSomething*/ };
//...
paper.install(window.paperscript);
稿件之外的电话:
paperscript.someFunction(); //error, object doesnt have that function :-(
答案 0 :(得分:0)
在此代码(jsbin here)中,javascript用于在论文中调用someFunction
,将矩形变为红色:
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>JS Bin</title>
<script type="text/javascript" src="https://raw.github.com/paperjs/paper.js/master/dist/paper.js"></script>
<script type="text/javascript">
var paperscript = {};
window.onload = function(){
paperscript.someFunction();
}
</script>
<script type="text/paperscript" canvas="p">
this.someFunction = function(){
rect1.fillColor = new Color('red');
};
var rect1 = new Path.Rectangle({
point: [0, 10],
size: [100, 100],
strokeColor: 'black'
});
paper.install(window.paperscript);
</script>
</head>
<body>
<canvas id="p" resize></canvas>
</body>
</html>
我的猜测是,在尝试使用您的javascript访问之前,您还没有等到稿件加载。在图像加载之前,Paperscript不会(通常)加载;这就是为什么这段代码使用window.onload
来调用paperscript函数。