Processing 我如何创建一个游戏,你必须避免与你的鼠标随机移动的圆圈

Processing 我如何创建一个游戏,你必须避免与你的鼠标随机移动的圆圈,processing,Processing,我不知道如何使圆圈移动。我也不知道当鼠标碰到一个圆圈时如何结束游戏 我已经在屏幕上画了圆圈 for(int i = 0; i < 30; i++){ int x = (int)random(100); int y = (int)random(100); ellipse(x,y,25,25); } for(int i=0;i

我不知道如何使圆圈移动。我也不知道当鼠标碰到一个圆圈时如何结束游戏

我已经在屏幕上画了圆圈

for(int i = 0; i < 30; i++){
   int x = (int)random(100);
   int y = (int)random(100);
   ellipse(x,y,25,25);
}
for(int i=0;i<30;i++){
int x=(int)随机(100);
int y=(int)随机(100);
椭圆(x,y,25,25);
}

它显示一个带有圆圈的屏幕。我需要它们四处移动,当鼠标碰到它们时游戏结束。

为了解决这个问题,需要将x和y的值存储在两个数组中

接下来,您需要使用for循环初始化数组(就像您的代码一样)。 为了使圆连续运动,我们在每个循环中加上一小步,再加上一个for循环

然后你可以计算鼠标和每个圆之间的距离

int[] x;//creation of arrays
int[] y;
int size = 30;
int nbBalls = 20;

void setup() {
  size(400, 400); 
  x = new int [nbBalls];
  y = new int [nbBalls];
  for(int i=0;i<nbBalls;i++){//initialisation
    x[i] = (int)random(400);
    y[i] = (int)random(400);
  }
}

void draw() 
{
  background(51);
  for(int i = 0; i < nbBalls; i ++)//draw
      ellipse(x[i],y[i],size,size);

  for(int i = 0; i < nbBalls; i ++) {//move
      x[i] = x[i] + (int)random(5)-2;
      y[i] = y[i] + (int)random(5)-2;
  }

  for(int i = 0; i < nbBalls; i ++)//collision test
    if(dist(mouseX,mouseY,x[i],y[i])<size)
      noLoop();
}
int[]x//数组的创建
int[]y;
int size=30;
int=20;
无效设置(){
尺寸(400400);
x=新整数[nbBalls];
y=新整数[nbBalls];
for(int i=0;iShareless self promotion:是一个关于动画(包括如何移动圆)的教程,也是一个关于碰撞检测(包括点-圆碰撞检测)的教程。