2017-05-05 57 views
-3

我不知道我錯了哪裏。我在控制檯中沒有收到任何錯誤,頁面上也沒有顯示任何錯誤。JS功能幫助 - 沒有錯誤,但不會顯示

如果任何人都可以看看,也許看到一些我錯過的東西。

<!doctype html> 
 
<html> 
 
<head> 
 
<script src="https://code.createjs.com/createjs-2015.11.26.min.js"></script> 
 
<script> 
 
    var myStage; 
 
     
 
    function init(){ 
 
    myStage = new createjs.Stage(document.getElementById("myCanvas")); 
 
    drawStar(50); 
 
    myStage.update(); 
 
    } 
 
     
 
    function drawStar(num){ 
 
    for(i=0; i<num; i++){ 
 
    
 
     var polygon = new createjs.Shape(); 
 
     var color = '#'+(Math.random()*0xFFFFFF<<0).toString(16); 
 
     polygon.graphics.beginFill(color); 
 
     polygon.graphics.moveTo(20, 80).lineTo(80, 80).lineTo(50, 120).lineTo(20, 80).lineTo(50, 40).lineTo(80, 80); 
 
    
 
     var shape = new createjs.Shape(); 
 
     var color = '#'+(Math.random()*0xFFFFFF<<0).toString(16); 
 
     shape.graphics.beginFill(color).drawCircle(20, 80, 3); 
 
     shape.graphics.beginFill(color).drawCircle(80, 80, 3); 
 
     shape.graphics.beginFill(color).drawCircle(50, 120, 3); 
 
     shape.graphics.beginFill(color).drawCircle(50, 40, 3); 
 
    
 
     var lines = new createjs.Shape(); 
 
     var color = '#'+(Math.random()*0xFFFFFF<<0).toString(16); 
 
     lines.graphics.beginStroke(color); 
 
     lines.graphics.moveTo(50, 80).lineTo(50, -5000).moveTo(50, 80).lineTo(-5000, 80).moveTo(50, 80).lineTo(10000, 80).moveTo(50, 80).lineTo(50, 10000); 
 
     
 
     var container = new createjs.Container(); 
 
     container.addChild(lines,polygon,shape); 
 
     
 
     container.x = Math.random()*1024; 
 
     container.y = Math.random()*960; 
 
     container.rotation = Math.random()*360; 
 
     
 
     myStage.addChild(container); 
 
    } 
 
    } 
 
//--> 
 
</script> 
 
<title>Generative Art</title> 
 
</head> 
 

 
<body> 
 
    <canvas id="myCanvas" width="1500" height="1500">Sorry. You need an HTML5 compatible browser to see this.</canvas> 
 
</body> 
 
</html>

+0

請張貼在這個問題(而不是圖像)的代碼 –

+0

如果我沒有記錯的話,你必須實際調用這些功能之一。定義一個函數不會運行它。把'init(); drawStar();'在腳本的末尾 –

+0

謝謝,張貼了代碼 - 也許我錯了,但我調用了關於myStage.update();的函數。這是你指的是什麼? – Chiefsouth

回答

0

你寫的功能,但他們永遠不會被調用。

你必須調用它們,以便它們內部的代碼可以被執行。

0

正如其他人所說,你宣佈的功能,但從來沒有打電話給他們。 調用初始化是這樣的:

<script> 
    var myStage; 

    function init(){ 
    myStage = new createjs.Stage(document.getElementById("myCanvas")); 
    drawStar(50); 
    myStage.update(); 
    } 

    function drawStar(num){ 
    for(i=0; i<num; i++){ 

     var polygon = new createjs.Shape(); 
     var color = '#'+(Math.random()*0xFFFFFF<<0).toString(16); 
     polygon.graphics.beginFill(color); 
     polygon.graphics.moveTo(20, 80).lineTo(80, 80).lineTo(50, 120).lineTo(20, 80).lineTo(50, 40).lineTo(80, 80); 

     var shape = new createjs.Shape(); 
     var color = '#'+(Math.random()*0xFFFFFF<<0).toString(16); 
     shape.graphics.beginFill(color).drawCircle(20, 80, 3); 
     shape.graphics.beginFill(color).drawCircle(80, 80, 3); 
     shape.graphics.beginFill(color).drawCircle(50, 120, 3); 
     shape.graphics.beginFill(color).drawCircle(50, 40, 3); 

     var lines = new createjs.Shape(); 
     var color = '#'+(Math.random()*0xFFFFFF<<0).toString(16); 
     lines.graphics.beginStroke(color); 
     lines.graphics.moveTo(50, 80).lineTo(50, -5000).moveTo(50, 80).lineTo(-5000, 80).moveTo(50, 80).lineTo(10000, 80).moveTo(50, 80).lineTo(50, 10000); 

     var container = new createjs.Container(); 
     container.addChild(lines,polygon,shape); 

     container.x = Math.random()*1024; 
     container.y = Math.random()*960; 
     container.rotation = Math.random()*360; 

     myStage.addChild(container); 
    } 
    init(); 
    } 
//-->