请问我设置了天线的线宽以后,后面的线宽怎么恢复默认,后面写了beginPath()呀?
来源:3-11 编程练习
鲨鱼没有鲨鱼线
2020-03-19 23:59:05
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>canvas机器人</title> <style> canvas{background-color:lightblue;} </style> </head> <body> <canvas id="canvas" width="800" height="800"> 您的浏览器不支持canvas </canvas> <script> //在此处写出代码 var rob = document.getElementById('canvas'); var side1 = rob.getContext("2d"); var side2 = rob.getContext("2d"); var side3 = rob.getContext("2d"); var side4 = rob.getContext("2d"); var side5 = rob.getContext("2d"); var side6 = rob.getContext("2d"); var side7 = rob.getContext("2d"); var side8 = rob.getContext("2d"); var side9 = rob.getContext("2d"); var side10 = rob.getContext("2d"); var side11 = rob.getContext("2d"); var side12 = rob.getContext("2d"); var side13 = rob.getContext("2d"); //左天线 side1.moveTo(300,100); side1.lineTo(350,200); side1.lineWidth = 5 ; side1.strokeStyle = "#ff0"; side1.stroke(); //右天线 side2.beginPath(); side2.moveTo(500,100); side2.lineTo(450,200); side2.lineWidth = 5; side2.strokeStyle = "#0ff"; side2.stroke(); //左耳朵 side3.beginPath(); side3.strokeRect(280,230,20,30); side3.strokeStyle = "#658421"; side3.fillStyle = "#0ff"; side3.fillRect(280,230,20,30); //右耳朵 side4.beginPath(); side4.strokeRect(500,230,20,30); side4.strokeStyle = "#122354"; side4.fillStyle = "#658542"; side4.fillRect(500,230,20,30); //头部 side5.beginPath(); side5.strokeRect(300,200,200,100); side5.strokeStyle = "#784521"; side5.fillStyle = "#421587"; side5.fillRect(300,200,200,100); //左眼 side6.beginPath(); side6.arc(360,245,10,0,2*Math.PI,true); side6.fillStyle = "rgba(255,255,0,1)"; side6.fill(); side6.strokeStyle = "#699878"; side6.stroke(); //右眼 side7.beginPath(); side7.arc(440,245,10,0,2*Math.PI,true); side7.fillStyle = "rgba(188,123,61,1)"; side7.fill(); side7.strokeStyle = "#984522"; side7.stroke(); //嘴巴 side8.beginPath(); side8.strokeStyle = "#ff0"; side8.strokeRect(375,260,50,20); side8.fillStyle = "#f00"; side8.fillRect(375,260,50,20); //左手 side9.beginPath(); side9.strokeRect(130,390,200,20); side9.fillStyle = "#523424"; side9.fillRect(130,390,200,20); //右手 side10.beginPath(); side10.strokeRect(470,390,200,20); side10.fillStyle = "#754632"; side10.fillRect(470,390,200,20); //身体 side11.beginPath(); side11.strokeRect(330,300,140,200); side11.fillStyle = "#994354"; side11.fillRect(330,300,140,200); //左腿 side12.beginPath(); side12.strokeRect(340,500,20,200); side12.fillStyle = "#134587"; side12.fillRect(340,500,20,200); //右腿 side13.beginPath(); side13.strokeRect(440,500,20,200); side13.fillStyle = "#675552"; side13.fillRect(440,500,20,200); </script> </body> </html>
1回答
好帮手慕星星
2020-03-20
同学你好,问题解答如下:
1、beginPath只是开启新路径的。如果想要样式改变,可以保存之前的状态,等设置线宽之后再恢复原来的状态,这样下面的绘制就不会有线宽了,如下
2、身体其他部位不需要描边,填充颜色就好。(描边的都去掉)举例修改
颜色尽量和效果图中保持一致,会美观一些。
自己再测试下,祝学习愉快!
相似问题