ここから本文です

【至急】プログラミング(Processing)について 大学の授業でプログラミング作成...

アバター

ID非公開さん

2019/1/2901:05:30

【至急】プログラミング(Processing)について
大学の授業でプログラミング作成の課題が出たのですが、もともと機械音痴なうえ、風邪で授業を休んでしまったため何のことやら全く分からず…;;

void setup(){
size(800,600);
frameRate(2);
background(0);
}

void draw(){
float diameter=random(50);
noStroke();
fill(random(40),random(100),random(255));
ellipse(random(width),random(height),diameter,diameter);
}

↑このポコポコ出てきた円に

int NUM=100;
PVector[] location=new PVector[NUM];
PVector[] velocity=new PVector[NUM];
void setup(){
size(800,600);
frameRate(60);
noStroke();
fill(150,127,255);
for(int i=0; i<NUM; i++){
location[i]=new PVector(random(width), random(height));
velocity[i]=new PVector(random(-4,4),random(-4,4));
}
}
void draw(){
background(0);
for(int i=0;i<NUM;i++){
ellipse(location[i].x, location[i].y,30,30);
location[i].add(velocity[i]);
if((location[i].x>width)||(location[i].x<0)){
velocity[i].x*=-1;
}
if((location[i].y>height)||(location[i].y<0)){
velocity[i].y*=-1;
}
}
}

↑このような動きをつけたいのですが

これらをどう組み合わせればいいのか教えてください!
(授業ではこのように一つ一つのやり方については習うのですが、そのつなげ方?組み合わせ方?については説明がなく…わかりやすく説明していただけると助かります;;)

閲覧数:
38
回答数:
1
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

prw********さん

2019/1/2913:53:36

>つなげ方?組み合わせ方?について

こうします

***

class Circle{
PVector location;
PVector velocity;
final float diameter;
final float h, s, v;

Circle(){
location = new PVector(random(width), random(height));
velocity = new PVector(random(-4, 4), random(-4, 4));

diameter = random(50);
h = random(40);
s = random(100);
v = random(255);
}

void draw(){
noStroke();
fill(h, s, v);
ellipse(location.x, location.y, diameter, diameter);
}

void update(){
location.add(velocity);

if((location.x>width)||(location.x<0)){
velocity.x *= -1;
}
if((location.y>height)||(location.y<0)){
velocity.y *= -1;
}
}
}

int FPS = 60;
int NUM = 100;
ArrayList<Circle> circle = new ArrayList<Circle>();
int time = 0;
int count = 0;
final int interval = 60 * 2;

void setup(){
size(800, 600);
frameRate(FPS);
}

void draw(){
background(0);

if(time > interval){
if(count < NUM){
circle.add(new Circle());
count++;
time = 0;
}
}
time++;

for(int i=0; i<circle.size(); i++){
circle.get(i).draw();
}

for(int i=0; i<circle.size(); i++){
circle.get(i).update();
}
}

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる