#03:移動(ループ)
このチャプターでは、描画した図形の移動方法について学習します。
新・Java入門編8: new演算子を学習しよう
https://paiza.jp/works/java/new-primer/java-new-primer-8
新・Java入門編22: クラスについて学習しよう
https://paiza.jp/works/java/new-primer/java-new-primer-22
新・Java入門編24: オブジェクト指向について学習しよう(継承・ポリモーフィズム)
https://paiza.jp/works/java/new-primer/java-new-primer-24
新・Java入門編31: クラスについてもっと学習しよう
ネストされたクラス(Nested Classes)
https://paiza.jp/works/java/new-primer/java-new-primer-31/94006
新・Java入門編31: クラスについてもっと学習しよう
内部クラス(Inner Classes)
https://paiza.jp/works/java/new-primer/java-new-primer-31/94007
新・Java入門編31: クラスについてもっと学習しよう
ローカルクラス(Local Classes)
https://paiza.jp/works/java/new-primer/java-new-primer-31/94008
新・Java入門編31: クラスについてもっと学習しよう
匿名クラス(Anonymous Classes)
https://paiza.jp/works/java/new-primer/java-new-primer-31/94009
新・Java入門編31: クラスについてもっと学習しよう
スタティックネステッドクラス(Static Nested Classes)
https://paiza.jp/works/java/new-primer/java-new-primer-31/94010
void setup() {
size(700, 700);
colorMode(HSB, 360, 100, 100);
background(0, 0, 100);
}
void draw() {
background(0, 0, 100);
}class Circle {
float x;
float y;
float extent;
float h;
Circle(float x, float y, float extent) {
this.x = x;
this.y = y;
this.extent = extent;
this.h = random(360);
}
void draw() {
noStroke();
fill(this.h, 100, 100, 100);
circle(this.x, this.y, this.extent);
}
}
Circle c1;
Circle c2;
int w = 700;
int h = 700;
float extent = 50;
void settings() {
size(w, h);
}
void setup() {
colorMode(HSB, 360, 100, 100);
background(0, 0, 100);
c1 = new Circle(-extent / 2, h / 2, extent);
c2 = new Circle(w / 2, -extent / 2, extent);
}
void draw() {
background(0, 0, 100);
c1.moveX();
c2.moveY();
if (c1.isOutsideX(w)) {
c1 = new Circle(-extent / 2, h / 2, extent);
}
if (c2.isOutsideY(h)) {
c2 = new Circle(w / 2, -extent / 2, extent);
}
c1.draw();
c2.draw();
}class Circle {
float x;
float y;
float extent;
float h;
Circle(float x, float y, float extent) {
this.x = x;
this.y = y;
this.extent = extent;
this.h = random(360);
}
void moveX() {
this.x += 1;
}
void moveY() {
this.y += 1;
}
boolean isOutsideX(float w) {
return this.x >= w + (this.extent / 2);
}
boolean isOutsideY(float w) {
return this.y >= w + (this.extent / 2);
}
void draw() {
noStroke();
fill(this.h, 100, 100, 100);
circle(this.x, this.y, this.extent);
}
}