互动创意编程点击产生彩色粒子

Posted 阿宝逃离地球

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了互动创意编程点击产生彩色粒子相关的知识,希望对你有一定的参考价值。

有点类似烟花的效果
鼠标点击的地方出现彩色的粒子

Particle.pde

public class Particle 

  // 
  PVector location;
  PVector acceleration;
  PVector velocity;
  float  lifespan = 255;
  float vr = 6f;
  int r,g,b;
  public Particle(PVector l) 
    location = l;
    acceleration = new PVector(0, random(0.1,0.5));
    velocity  = new PVector(random(-vr, vr), random(-vr, vr));
    r = (int)random(0,255);
    g = (int)random(0,255);
    b = (int)random(0,255);
  
  
  
  
  public Particle() 
    location = new PVector(width/2,height/2);
    acceleration = new PVector(0, random(0.1,0.5));
    velocity  = new PVector(random(-5, 5), random(-5, 5));
  
  
  
  
  


  // draw the particle
  void display() 
    noStroke();
   
    fill(r, g, 255, lifespan);
    float size = random(5,15);
    ellipse(location.x, location.y, size, size);
  

  // update the position
  void update() 
    location.add(velocity);
    velocity.add(acceleration);
    
    // the lifespan is diminishing
  

  // Check to see if it's dead
  boolean isDead() 
    if (lifespan < 0f) 
      return true;
     else 
      return false;
    
  

  // make the point run
  void run() 
    display();
    update();

    lifespan-= 10;
  

ParticleTest.pde

// 练习:模拟单个粒子的运动 //<>// //<>// //<>//
import java.util.Iterator;

Iterator<Particle> it;
int total = 100;
ArrayList<Particle> particles = new ArrayList<Particle>();
void setup() 
    size(800, 800);


void draw() 
    background(0);
    
    it = particles.iterator();
    while(it.hasNext()) 
        Particle p = it.next();
        p.run();
        if (p.isDead()) 
            it.remove();
        
    
   


void mouseClicked() 
   for (int i = 0; i < total; i++) 
        PVector location = new PVector(mouseX,mouseY);
        particles.add(new Particle(location));
    

以上是关于互动创意编程点击产生彩色粒子的主要内容,如果未能解决你的问题,请参考以下文章

创意编程大师直播班,带你实现生成艺术数据可视化人工智能音画互动的全能交互之梦

ProcessingJoy ——互斥的彩色粒子JAVA

用产生随机数的方法加上鼠标事件实现点击生成彩色积木

游戏编程模式-对象池

web粒子网络背景&和鼠标互动动画

互动式建筑投影系统应用的优点