2023年10月12日 星期四

温 week05

 ArrayList<PVector> pt;

void setup()
{
  size(400, 400, P3D);
  pt = new ArrayList<PVector>();
  for (int i=0; i<37; i++)
  {
    pt.add( new PVector(random(400), random(400)) );
  }//假設畫面中,點好了20個頂點
}

void draw()
{
  background(255);
  for (PVector p : pt)
  {
    ellipse(p.x, p.y, 10, 10);
  }
  if (ans!=null) ellipse(ans.x, ans.y, 15, 15);
}

PVector ans = null;
void mouseDragged()
{
  if (mouseButton==CENTER && ans!=null)
  {
    ans.x = mouseX;
    ans.y = mouseY;
  }
}


void mousePressed()
{
  if (mouseButton==LEFT) pt.add( new PVector(mouseX, mouseY) );
  else if (mouseButton==CENTER)
  {
    for (PVector p : pt)
    {
      if ( dist(p.x, p.y, mouseX, mouseY) < 5)
      {
        ans = p;
      }
    }
  } else if (mouseButton==RIGHT)
  {

    for (int i=0; i<pt.size(); i++)
    {
      PVector p = pt.get(i);
      if (dist(p.x, p.y, mouseX, mouseY) < 5 )
      {
        pt.remove(i);
      }
    }
  }
}



沒有留言:

張貼留言