为了账号安全,请及时绑定邮箱和手机立即绑定

说好的七巧板呢,老师 帮忙看一下 thanks

<!doctype html>

<html>

 <head>

  <meta charset="utf-8">

  <title>七巧板案例</title>

 </head>

 <body>

  <canvas id="canvas" style="border:1px solid #aaa;display:block magrin:50px auto;"></canvas>

  <script>

  var tangram=[

  {p:[{x:0,y:0},{x:800,y:0},{x:400,y:400}],color:"#caff67"},

  {p:[{x:0,y:0},{x:400,y:400},{x:0,y:800}],color:"#67becf"},

  {p:[{x:800,y:400},{x:600,y:600},{x:600,y:200}],color:"#ef3d6e"},

  {p:[{x:600,y:200},{x:600,y:600},{x:400,y:400}],color:"#cc99ff"},

  {p:[{x:400,y:400},{x:600,y:600},{x:400,y:800}],color:"#ff3366"},

  {p:[{x:200,y:600},{x:400,y:800},{x:80,y:800}],color:"#ff66ff"},

  {p:[{x:800,y:400},{x:800,y:800},{x:400,y:800}],color:"#f6ca29"}

  ]

  window.onload=function(){

   var canvas=document.getElementById("canvas");


   canvas.width=800;

   canvas.height=800;


   var context=canvas.getContext('2d');

   for(var i=0;i<tangram.length;i++){

     draw(tangram[i],context);

   }

  }

function draw(piece,cxt){

cxt.beginPath();

cxt.moveTo(piece.p[0].x,piece.p[0].y);

for(var i=1;i<piece.p.length;i++)

    cxt.closePath();


cxt.fillStyle=piece.color;

cxt.fill();

  }


  </script>

 </body>

</html>


正在回答

1 回答

function draw(piece,cxt){
    cxt.beginPath();
    cxt.moveTo(piece.p[0].x,piece.p[0].y);
    for(var i=1;i<piece.p.length;i++){
        cxt.lineTo(piece.p[i].x,piece.p[i].y);
    }
    cxt.fillStyle=piece.color;
    cxt.fill();
    cxt.closePath();
}

draw 方法给你改了下,但是你的坐标好像也不对。

0 回复 有任何疑惑可以回复我~
#1

如果巴黎不快乐01234 提问者

thank you
2015-11-17 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
炫丽的倒计时效果Canvas绘图与动画基础
  • 参与学习       96726    人
  • 解答问题       999    个

学习HTML5中最激动人心的技术Canvas,彻底释放自己的创造力

进入课程

说好的七巧板呢,老师 帮忙看一下 thanks

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信