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

来源:-

如果巴黎不快乐01234

2015-11-11 22:40

<!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回答

  • 李晓健
    2015-11-17 12:37:18
    已采纳
    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 方法给你改了下,但是你的坐标好像也不对。

    如果巴黎不快...

    thank you

    2015-11-17 22:42:54

    共 1 条回复 >

炫丽的倒计时效果Canvas绘图与动画基础

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

96746 学习 · 1000 问题

查看课程

相似问题