全球起稿函数,由javascript win8 app调用

时间:2013-06-06 11:40:52

标签: windows-store-apps paperjs

我有一份说明书,我需要通过我的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 :-(

1 个答案:

答案 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函数。