Javascript 让粒子在p5.js中显示OnClick函数

Javascript 让粒子在p5.js中显示OnClick函数,javascript,particle-system,p5.js,Javascript,Particle System,P5.js,刚接触p5.js,每天都在努力学习更多。基本上,我目前正在学习粒子系统和对象,并且对代码的数量感到困惑。无论如何,我希望在函数mousePressed()上显示我创建的粒子数组(粒子系统)。如果粒子系统能够跟踪鼠标的位置,那也太棒了。所以,基本上,如果你在屏幕上单击鼠标,粒子就会出现在这个位置,并且还会跟踪鼠标 我不知道我在代码中遗漏了什么。我觉得有点迷失了它的一半在做什么(我的教授写了很多)。当我加入mousePressed函数时,所有的东西都变成了pot。我觉得我太不知所措了,甚至都不知道缺

刚接触p5.js,每天都在努力学习更多。基本上,我目前正在学习粒子系统和对象,并且对代码的数量感到困惑。无论如何,我希望在函数mousePressed()上显示我创建的粒子数组(粒子系统)。如果粒子系统能够跟踪鼠标的位置,那也太棒了。所以,基本上,如果你在屏幕上单击鼠标,粒子就会出现在这个位置,并且还会跟踪鼠标

我不知道我在代码中遗漏了什么。我觉得有点迷失了它的一半在做什么(我的教授写了很多)。当我加入mousePressed函数时,所有的东西都变成了pot。我觉得我太不知所措了,甚至都不知道缺少了什么。任何帮助,加上对我需要做什么以及该解决方案为何有效的详细见解,都将不胜感激。谢谢大家!

var particles = [];
var now = null;

function setup() {
  createCanvas(windowWidth, windowHeight);

}

function draw() {
  background(255, 25, 25);
  function mousePressed() {
  particles.push(new Particle(new p5.Vector(mouseX, mouseY)));


//particles.push(new Particle(new p5.Vector(width / 2, height / 1.5)));
  for (var i = 0; i < particles.length; i++) {
    // if our particle is dead, remove it
    if (particles[i].lifespan <= 0) {
      //splice is a way of removing a specific
      //element from an array
      particles.splice(i, 2);
    } else {
      particles[i].update();
      particles[i].display();
    }



      //this.particle = new ParticleSystem(createVector(mouseX, mouseY));
 // patricles.push(p);

    }
  }
}

function Particle(loc) {
  this.loc = loc;
  this.acc = new p5.Vector();
  this.vel = new p5.Vector(random(-100, 100), random(-2, 0));
  this.lifespan = 555;
}

Particle.prototype = {
  constructor: Particle,
  update: function() {
    this.vel.add(this.acc);
    this.loc.add(this.vel);
    this.lifespan -= 4.0;

  },
  display: function() {
    stroke(random(0), this.lifespan);
    fill(random(255), random(255), random(255))
    ellipse(this.loc.x, this.loc.y, 20, 20);
  }
}
var粒子=[];
var now=null;
函数设置(){
createCanvas(窗口宽度、窗口高度);
}
函数绘图(){
背景(255,25,25);
函数mousePressed(){
push(新粒子(新p5.Vector(mouseX,mouseY));
//粒子推(新粒子(新p5向量(宽度/2,高度/1.5));
对于(var i=0;i如果(粒子[i]。寿命首先,你的
mousePressed()
函数在
draw()
函数内部。这没有多大意义。你希望你的
mousePressed()
函数与
draw()
函数处于同一级别

function draw(){
   //draw code here
}

function mousePressed(){
   //mousePressed code here
}
如果我是你,我会从更小的地方开始。你能创建一个画一个椭圆的程序吗?然后你能让它在你点击鼠标时出现一个椭圆吗?然后你能让这个椭圆跟随鼠标吗?只有当你自己能完美地工作时,你才应该开始考虑添加多个椭圆

你试图从你的最终目标出发,向后走,这只会让你感到困惑。相反,从最简单的草图开始,一步一个脚印。如果你陷入困境,你可以发布一个带有特定问题的帖子,这样会更容易帮助你