2014-03-05 66 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