钢琴Boss大激光半圆:改用和激光线一致的描边风格

- 去掉fill()实心填充,改用stroke()弧线描边
- 粗主色弧线(lineWidth=bm.w)+细白边弧线(lineWidth=bm.w/3),和激光线绘制方式完全一致
- 半圆与激光都是描边发光风格,纹理自然统一
This commit is contained in:
JOJO 2026-08-06 14:59:52 +08:00
parent 90ee0ea0f9
commit b8df012c4d

View File

@ -224,11 +224,11 @@ function drawBossFx(){
ctx.beginPath();ctx.moveTo(bm.x1,bm.y1);ctx.lineTo(bm.x2,bm.y2);ctx.stroke();ctx.globalAlpha=1;}}
else{ctx.globalCompositeOperation="lighter";
ctx.globalAlpha=clamp(bm.life/10,0,1)*0.85;
// 大激光起点扩口半圆:直径=线宽,最高点=炮口,线从半圆底部开始向下延伸,不重叠
// 大激光起点扩口半圆:弧线描边风格与激光线完全一致(粗主色弧+细白边弧)
if(bm.dmg>=90000){const pR=bm.w*0.5;
ctx.fillStyle=bm.col;
ctx.beginPath();ctx.arc(bm.x1,bm.y1+pR,pR,Math.PI,0);ctx.fill();
ctx.strokeStyle="#fff";ctx.lineWidth=Math.max(1,pR/3);
ctx.strokeStyle=bm.col;ctx.lineWidth=bm.w;
ctx.beginPath();ctx.arc(bm.x1,bm.y1+pR,pR,Math.PI,0);ctx.stroke();
ctx.strokeStyle="#fff";ctx.lineWidth=Math.max(1,bm.w/3);
ctx.beginPath();ctx.arc(bm.x1,bm.y1+pR,pR,Math.PI,0);ctx.stroke();}
ctx.strokeStyle=bm.col;ctx.lineWidth=bm.w;
ctx.beginPath();ctx.moveTo(bm.x1,bm.y1+bm.w);ctx.lineTo(bm.x2,bm.y2);ctx.stroke();