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

为什么没有星星

<script type="text/javascript">

window.onload = function() {

// 初始化

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

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

// 画布设置

canvas.width = 800;

canvas.height = 800;

   context.fillStyle = "black";

   context.fillRect(0,0,canvas.width,canvas.height);


  // 绘画星星

// 星星参数

for(var i = 0; i <=200; i++)

{

var r = Math.random()*40+20;

var x = Math.random()*canvas.width;

var y = Math.random()*canvas.height;

var a = Math.random()*360;

draw(context,x,y,r,a);

}


}

function draw(cxt,x,y,r,rot){

cxt.save();


cxt.translate( x , y );

cxt.rotate(rot/180 * Math.PI);


star(cxt);


cxt.fillStyle = "#fb3";

cxt.strokeStyle = "#fd5";

cxt.lineWidth = 3;

cxt.lineJoin = "round";


cxt.fill();

cxt.stroke();


cxt.restore();

}


function star(cxt){

cxt.beginPath();

for(var i = 0; i < 5; i++){

cxt.lineTo(Math.cos((18+i*72)/180*Math.PI*20),

 -Math.sin((18+i*72)/180*Math.PI)*20 );

cxt.lineTo(Math.cos((54+i*72)/180*Math.PI)*0.5*20,

-Math.sin((54+i*72-)/180*Math.PI)*0.5*20);

}

cxt.closePath();

}

</script>


正在回答

2 回答

for(var i = 0; i < 5; i++){

cxt.lineTo(Math.cos((18+i*72)/180*Math.PI*20),

 -Math.sin((18+i*72)/180*Math.PI)*20 );

cxt.lineTo(Math.cos((54+i*72)/180*Math.PI)*0.5*20,

-Math.sin((54+i*72-)/180*Math.PI)*0.5*20);

最后一排多了个“-”号


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

宝慕林2917688 提问者

非常感谢!
2016-12-16 回复 有任何疑惑可以回复我~
#2

宝慕林2917688 提问者

大神你怎么那么快就能找出来,我找了一个下午才找出来
2016-12-16 回复 有任何疑惑可以回复我~
#3

红书包 回复 宝慕林2917688 提问者

不是有一句话叫旁观者清嘛。所以啰
2016-12-19 回复 有任何疑惑可以回复我~


cxt.lineTo(Math.cos((18+i*72)/180*Math.PI*20),这个“*20”要放在括号的外面


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

举报

0/150
提交
取消
Canvas绘图详解
  • 参与学习       72895    人
  • 解答问题       422    个

Canvas系列教程第二课,详解Canvas各接口,让同学彻底掌握Canvas绘图

进入课程

为什么没有星星

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