,所以我使用处理的第一天,我需要一些帮助才能从此开始是我的代码,即我进行选择:
int[] numbers; // Declare array
int currentmin;
int exchange=0;
void setup() {
frameRate(0.1);
size(500,500);
numbers = new int[10]; // Create array with 10 cells
background(105);
for (int i = 0; i < numbers.length; i++) { // random numbers from 1 to 100
int r = int(random(1,100)); // create random numbers
for (int j=0; j<numbers.length; j++) { //make sure not duplications
if(numbers[j]==r)
{r=r+1;}
}
numbers[i]=r; //fill array with random numbers
println(r);
}
fill(255,0,0);
for (int i = 0; i < numbers.length; i++) { //draw rectangles
rect(i*40+10,400 ,35, -numbers[i]);
}
for (int j=0; j < numbers.length; j++){ //set pivot number
currentmin=numbers[j];
for (int i=j+1; i < numbers.length; i++){ //find lowest number in array
if (numbers[i] < currentmin) {
currentmin = numbers[i];
}
}
for ( int i=j; i<numbers.length;i++){ //swap pivot with lowest number
if ( numbers[i]==currentmin){
exchange=numbers[j];
numbers[j]=numbers[i];
numbers[i]=exchange;
//here
}
}
}
}
void draw() {
background(105);
for (int z = 0; z < numbers.length; z++) {
rect(z*40+10,400 ,35, -numbers[z]);
}
}
您可以看到我在这里发表评论的地方,我试图使事物变得动画并看到第一个循环中的每个迭代中的矩形更改位置,但是它不起作用...有帮助吗?我尝试调用draw((;毫无希望的,但它没有起作用...无论如何我可以得到帮助?
这并不是要执行的微不足道的动画。您应该真正从更简单的东西开始。
但是要回答您的问题,您不会将动画放入for
循环中。取而代之的是,您需要做到它,以便draw()
函数绘制动画的单个框架。处理会自动调用draw()
功能每秒60次,因此,通过每次更改绘制的内容,您可以创建一个动画。
无耻的自我促进:我写了一篇有关创建动画处理的教程。