a-17 オブジェクト

Mar 30, 2021

a-17 オブジェクトとクラス

「オブジェクト」は、たくさんの値を持つことができ、複数の変数と関連する関数をパッケージ化することでより扱いやすくなります。

「オブジェクト」を作る前には「クラス(class)」を定義する必要があります。
「クラス」は、「オブジェクト」の仕様を定めたものです。

「クラス」には全てのデータ型が使えます。
「Circle」という名前のクラスを定義してみます。

class Circle {//class クラス名(頭は大文字推奨)
  float x, y, speed;
  int eSize;
 
  //コンストラクタ
  Circle (float tempY, int tempEsize, float tempSpeed) {
    x = 0.0; //x座標の初期値
    y = tempY;//y座標の初期値
    eSize = tempEsize;
    speed = tempSpeed;
  }
 
  //円の位置を更新するメソッド
  void update() {
    x += speed; 
    if (x > width) { 
    x = 0;
    }
  }
 
  void display() {
    ellipse(x, y, eSize, eSize); //円を描画
  }
}

「クラス」を定義したら「オブジェクト」を作成します。

Circle c1,c2,c3;//オブジェクト変数を宣言 class名 変数名

void setup() {
  size(400, 400);
  noStroke();
  fill(247,219,73);
  
 
  //インスタンスを作成
  c1 = new Circle(50, 10, 5.0);//サイズ,y座標,スピード
  c2 = new Circle(150, 40, 3.0);
  c3 = new Circle(300, 40, 1.0);
}
 
void draw() {
  background(0);
  c1.update(); 
  c1.display();
 
  c2.update(); 
  c2.display();
  
  c3.update(); 
  c3.display();
}

「クラス」は別「タブ」に記述すると便利です。

#animation

#いったところmemo

#読書きろく