2014-03-05 23 views
3

我有一个非常简单的paper.js脚本的奇怪情况。如果我不移动鼠标,5秒后脚本不会绘制文本。一旦我做了这个动作,它就会显示出来。有人可以向我解释这种奇怪的行为吗?如果鼠标不移动,paper.js将不会绘制

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="UTF-8"> 
    <title>Simplify</title> 
    <script type="text/javascript" src="http://paperjs.org/assets/js/paper.js"></script>  
    <script type="text/paperscript" canvas="canvas"> 
     setTimeout(function() { 
      var textItem = new PointText({ 
       content: 'Click and drag to draw a line.', 
       point: new Point(20, 30), 
       fillColor: 'black', 
      }); 
     }, 5000); 
    </script> 
</head> 
<body> 
    <canvas id="canvas" resize></canvas>  
</body> 
</html> 
+0

我还注意到,如果停用浏览器窗口,paper.js示例会停止运行。我正在使用Chrome – manda

+1

不知道如何解决您的原始问题。但是你在评论中提出的问题只是在[github]上回答的(https://github.com/paperjs/paper.js/issues/415#issuecomment-36746572)。 JürgLehni写道:“这是一个保持低处理能力的特性。请阅读以下关于”keepalive“的内容:http://paper.js/tutorials/getting-started/working-with-paper-js/#canvas-configuration” – Christoph

+0

I认为这两个“问题”是由同样的原因造成的。但是,似乎没有。在我的情况下,keepalive属性不起作用。无论如何,这个选项,我不知道它 – manda

回答

5

您是否试过添加paper.view.draw();到你的函数结束?

setTimeout(function() { 
     var textItem = new PointText({ 
      content: 'Click and drag to draw a line.', 
      point: new Point(20, 30), 
      fillColor: 'black', 
     }); 
    view.draw(); 
    }, 5000); 
+1

谢谢Mark,那正是我所需要的! – manda