a-13 反応(4) クリック

a-13 反応(4) クリック

Processingはマウスの位置だけでなくマウスボタンの状態も把握しています。mousePresse変数です。

この変数の型は“ブーリアン型”と呼ばれ、取得する値は真(true)か偽(false)のどちらかです。
マウスが押されるとmausePressedは真(true)です。

void setup(){
  size(480,120);
  strokeWeight(50);
}

void draw(){
  background(0);
  stroke(255,255,0);//黄色
  line(30,0,60,height);//赤い線
  if(mousePressed == true){
    stroke(219,53,53);//RGB
    }
    line(0,60,width,50);
}

マウスを押すと…

赤になった

if(test){
  真の時に実行
}

==は左と右の値が等しいかをテストする時に使うもので、代入演算子(=)とは別のもの。

また以下のように書いても同じ意味をもつ(mousePressedは真のため、比較する必要がない)

if(mousePressed){

単一のifブロックを使用して書けるのは、実行するかしないかのみだが、ifブロックにelseブロックを追加することで、2つの選択肢から1つ選ぶプログラムが可能になる。(クリックしていないことを判定する)elseブロックのコード、ifブロックのテストが偽(false)のときに実行される。

void setup(){
  size(480,120);
  strokeWeight(50);
}

void draw(){
  background(0);
  stroke(255,255,0);//RGB
  line(30,0,60,height);//赤い線
  if(mousePressed == true){
    stroke(219,53,53);//白い線
    }else{stroke(255,255,255);
    }
    line(0,60,width,50);
}

マウスボタンが押されていないときは白い線が出るようになった

if〜elseの構造はいくつでも増やせるので、連結して条件が異なるテストを行なったり、ifブロックにifブロックを埋め込んでより複雑な判定を行う事ができる