最新回答 / 啊B
你函數(shù)參數(shù)值沒對應(yīng)起來? 具體就是以下兩行代碼<...code...>沒有一一對應(yīng)啊, 你把r/2.0當(dāng)成x傳給了 drawStart?不知道能不能理解
2018-11-30
const 繪制多邊形=(邊數(shù),偏移橫坐標(biāo),偏移縱坐標(biāo),半徑)=>{
const 平分角度=360/邊數(shù), 圓周率=Math.PI
for (let 索引=0;索引<邊數(shù);索引++){
let 橫坐標(biāo)=Math.cos(((90-平分角度+平分角度*索引)*圓周率)/180)*半徑+偏移橫坐標(biāo)
let 縱坐標(biāo)=-Math.sin(((90-平分角度+平分角度*索引)*圓周率)/180)*半徑+偏移縱坐標(biāo)
ctx.lineTo(橫坐標(biāo),縱坐標(biāo))
}
}
const 平分角度=360/邊數(shù), 圓周率=Math.PI
for (let 索引=0;索引<邊數(shù);索引++){
let 橫坐標(biāo)=Math.cos(((90-平分角度+平分角度*索引)*圓周率)/180)*半徑+偏移橫坐標(biāo)
let 縱坐標(biāo)=-Math.sin(((90-平分角度+平分角度*索引)*圓周率)/180)*半徑+偏移縱坐標(biāo)
ctx.lineTo(橫坐標(biāo),縱坐標(biāo))
}
}
2018-10-31
已采納回答 / 對酌
有必要這么復(fù)雜么,直接控制x,y的值在正常顯示范圍內(nèi)不就好了,可以根據(jù)大圓大R來計(jì)算x,y具體的范圍值,比如x的范圍值是? 0+R 到 canvas.width-R,y值的范圍也根據(jù)這個(gè)算出來就可以了,具體部分代碼是:<...code...>?
2018-08-26
最新回答 / 哈士奇你怕嗎
對源代碼修改:function drawStar(cxt,r,R,x,y,color,rot, lineWidth){cxt.clearRect(0,0,800,800);//? ?<-------------------------在這里清除畫布cxt.beginPath();????for (let i = 0; i < 5; i++) {????????cxt.lineTo(Math.cos((18 + i * 72- rot) / 180 * Math.PI) * R + x,????...
2018-08-23