2017-05-05 38 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(); 
    } 
//-->