使用画架中的构造函数在画布上绘制一个红色的球

时间:2014-06-11 12:37:27

标签: canvas easeljs

这里我试图创建一个redball,它是simpleBall构造函数的一个实例。但我编写的代码并没有在canvas上绘制任何内容。我不确定我的代码中有什么问题。请帮助我!!!

fiddle for my code

代码:

<html>
  <head>

     <script src="http://code.createjs.com/easeljs-0.7.1.min.js"></script>
  </head>
  <body>
   <canvas id="mycanvas" width="1000" height="500" style="border:1px solid black;"></canvas>

<script>
   function makeit(){

      function simpleBall(color,radius){
        this.color=color;
        this.radius=radius;
        this.initialize();

        }

  simpleBall.prototype.initialize=function(){
         this.s=this.getGraphics();
        }

  simpleBall.prototype.getGraphics=function(){
          var s=new createjs.Shape();

          s.graphics.beginFill(this.color).drawCircle(0,0,this.radius);
          return s;

        }

   var canvas=document.getElementById("mycanvas");
   var stage=new createjs.Stage(canvas);
   var ball=new simpleBall("red",10);
   ball.x=100;
   ball.y=100;
   stage.addChild(ball);
   stage.update();
   }
window.onload=makeit;
</script>

</body>

</html>

1 个答案:

答案 0 :(得分:0)

simpleBall实例&#34; ball&#34;不是DisplayObject。您必须引用s属性,因为它是Shape实例。在您的示例中,您应该在控制台中看到错误。

var ball=new simpleBall("red",10);
var shape = ball.s;
shape.x=100;
shape.y=100;
stage.addChild(shape);