Javascript 糟糕的画布上下文

Javascript 糟糕的画布上下文,javascript,html,canvas,Javascript,Html,Canvas,我目前正在制作一个画布动画,效果非常好 您可以在下面查看我的代码: var canvas=document.getElementById('bubble'), ctx=canvas.getContext('2d'); ctx.save(); var wW=canvas.width=window.innerWidth, wH=canvas.height=window.innerHeight; var粒子=[]; var particleIndex=0; var dx=dy=距离=0; 函数粒子(

我目前正在制作一个画布动画,效果非常好

您可以在下面查看我的代码:

var canvas=document.getElementById('bubble'),
ctx=canvas.getContext('2d');
ctx.save();
var wW=canvas.width=window.innerWidth,
wH=canvas.height=window.innerHeight;
var粒子=[];
var particleIndex=0;
var dx=dy=距离=0;
函数粒子(){
this.x=Math.random()*wW;
this.y=Math.random()*wH;
这个rad=20;
this.color=“蓝色”;
this.vX=Math.random()*(1.01-(-1))+(-1);
this.vY=Math.random()*(1.01-(-1))+(-1);
粒子[particleIndex]=这个;
particleIndex++;
}
Particle.prototype.draw=函数(){
this.x+=this.vX;
this.y+=this.vY;
这个.碰撞();
//外
ctx.beginPath();
ctx.arc(this.x,this.y,this.rad,0,Math.PI*2);
ctx.stroke();
//居中
ctx.beginPath();
ctx.arc(this.x,this.y,this.rad/10,0,Math.PI*2);
ctx.fillStyle=“红色”;
ctx.fill();
}
Particle.prototype.collision=函数(){

如果(this.x+this.rad>=wW | | | this.x-this.rad=wH | | | this.y-this.rad,则可以在开始绘制线条之前将其存储到变量中,然后将其还原

function line() {
  var originalStrokeStyle = ctx.strokeStyle;
  for (var i = 0; i < particles.length; i++) {
    for (var j = 0; j < particles.length; j++) {
      dx = particles[i].x - particles[j].x;
      dy = particles[i].y - particles[j].y;
      distance = Math.sqrt(dx * dx + dy * dy);

        if (distance <= 60) {
          ctx.beginPath();
          ctx.moveTo(particles[i].x, particles[i].y);
          ctx.lineTo(particles[j].x, particles[j].y);
          ctx.strokeStyle = "rgba(0,0,0," + 6 / distance + ")";
          ctx.stroke();
        }
    }
  }
  ctx.strokeStyle = originalStrokeStyle;
}
函数行(){
var originalStrokeStyle=ctx.strokeStyle;
对于(var i=0;i如果(距离,则可以在开始绘制线条之前将其存储到变量中,然后将其还原

function line() {
  var originalStrokeStyle = ctx.strokeStyle;
  for (var i = 0; i < particles.length; i++) {
    for (var j = 0; j < particles.length; j++) {
      dx = particles[i].x - particles[j].x;
      dy = particles[i].y - particles[j].y;
      distance = Math.sqrt(dx * dx + dy * dy);

        if (distance <= 60) {
          ctx.beginPath();
          ctx.moveTo(particles[i].x, particles[i].y);
          ctx.lineTo(particles[j].x, particles[j].y);
          ctx.strokeStyle = "rgba(0,0,0," + 6 / distance + ")";
          ctx.stroke();
        }
    }
  }
  ctx.strokeStyle = originalStrokeStyle;
}
函数行(){
var originalStrokeStyle=ctx.strokeStyle;
对于(var i=0;iif(距离:笑:正是我在将代码编辑到帖子中时所做的更改。虽然,我选择了名称
origStrokeStyle
:笑:正是我在将代码编辑到帖子中时所做的更改。虽然,我选择了名称
origStrokeStyle