Processing【5日目】オブジェクト思考

インスタなどショート動画で数学的に美しい映像を見て、自分も作ってみたいと思うようになりました。
そこで調べてみるとProcessingというプログラミング(?)をすることで作れそうでした。
そこで今回から英語の勉強と、文章を書く練習としてProcessingの英語の公式サイトを訳していこうと思います。

7割翻訳、3割感想や自分なりの解説を目指します。
今回の参考ページは以下になります。

Color
An introduction to digital color.
スポンサーリンク

オブジェクト思考

オブジェクト思考は、なかなか難しい概念です。

これを読んでいる、あなたを主人公にして説明していきます。
あなたは人とは違う見た目をしていますが、寝たり、食べたりは同じ行動をすることができます。

つまりあなたは、「あなた」である前に「人間」であるのです。
ということで人それぞれ異なるデータと、皆共通して行う行動があります。

人それぞれ異なるデータ

  • 性別
  • 身長
  • 髪色
  • などなど

共通して行う行動

  • 睡眠
  • 起床
  • 食事
  • などなど

上の例はシンプルな箇条書きですが、それぞれのデータ・行動が人間にテンプレートとして備わっています。

オブジェクト思考では、上の例でいう「人間」がクラス、「あなた」がオブジェクトです。
つまりこれを書いている「私」もオブジェクト、「スティーブ・ジョブズ」もオブジェクトです。

スポンサーリンク

オブジェクト思考でクラスを作ってみる

上の「人間」の例でやってみます。
まずはクラスを定義します。

定義に必要なのは

  • クラス名
  • 変数(人それぞれ異なる情報)
  • コンストラクタ(必ず最初に呼び出され初期化などを行う関数)
  • 関数(共通して行う処理)

変数と関数は上の例で確認しました。

コンストラクタは、新しいオブジェクトを作った時に情報を初期化する部分です。例えば、人間が生まれた時点での性格、身長、体重などを書き込む部分です。

スポンサーリンク

オブジェクト思考でオブジェクトを作ってみる

  1. まずはオブジェクト変数を宣言する。
  2. オブジェクトを初期化する。
  3. オブジェクトを使用する。

例をコードで見てみる

例では長方形を車に見立てています。できるだけコメントで解説しております。

Car myCar1;
Car myCar2; // 1, まずはオブジェクト変数を宣言する。

void setup() { 
size(200,200); 
 // 2, オブジェクトを初期化する。パラメータは括弧の中に入れる。
  myCar1 = new Car(color(255,0,0),0,100,2);
  myCar2 = new Car(color(0,0,255),0,10,1);
}

void draw() {
  background(255);
 // 3, オブジェクトを使用する。  
 myCar1.drive();
  myCar1.display();
  myCar2.drive();
  myCar2.display();
}

//以下でクラスの作成。
// 1つのオブジェクトから複数のオブジェクトを作ることができる。
//まずはクラス名の宣言(Carの部分)
class Car {
 //変数の宣言
  color c;
  float xpos;
  float ypos;
  float xspeed;

  // コンストラクタ(クラス名と同じにするのが普通)
  Car(color tempC, float tempXpos, float tempYpos, float tempXspeed) {
//各変数の初期化
    c = tempC;
    xpos = tempXpos;
    ypos = tempYpos;
    xspeed = tempXspeed;
  }
 
 //以下、関数
  void display() {
    stroke(0);
    fill(c);
    rectMode(CENTER);
    rect(xpos,ypos,20,10);
  }

  void drive() {
    xpos = xpos + xspeed;
    if (xpos > width) {
      xpos = 0;
    }
  }
}

まとめ

embark…乗船する

nerdy…オタクっぽい男性

do stuff…何かをする

コメント

タイトルとURLをコピーしました