プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
Processing、マウスの位置を取得する
Processingだと、マウスの位置を取得するのがメッチャ簡単です。
最初から用意されている変数「mouseX」「mouseY」に勝手に入ってくれるからです。

それぞれ

mouseX:マウスの横位置(左端が0で右に行くほど数字が大きくなる)
mouseY:マウスの縦位置(上端が0で下に行くほど数字が大きくなる)


が入ってくれます。

例えば、以下のような処理を書いたとしましょう。

void setup(){
    size(400,400);
}

void draw(){
    background(255);

    line(0,0,mouseX, mouseY);
}

そうすると、画面の左上からマウスの矢印に向かって線が引かれます。
以下のような画面が表示されるはずです。
マウスをぐりぐり動かすと線がくっついてきますよね。

20171119-01.png


ちなみに「setup()」関数内に書いた処理はプログラム起動時に1回だけ動きます。
初期化処理とかを書くところです。

「draw()」関数内に書いた処理は繰り返し実行されます。
図形の描画処理とかを書くところです。

「line()」は線を引くときに使う関数です。
書式は

line(【開始-横位置】,【開始-縦位置】,【終了-横位置】,【終了-縦位置】);

です。

これでマウスの位置を取得するやり方は分かったと思います。
変数

mouseX:マウスの横位置が入る(左端が0で右に行くほど数字が大きくなる)
mouseY:マウスの縦位置が入る(上端が0で下に行くほど数字が大きくなる)


を使います。

以上、終わり\(--)/

……ですが、せっかくなので、もう少し遊んでみましょう。

例えば、以下のような処理を書いてみます。

void setup(){
    size(700,700);
}

void draw(){
    background(255);

    line(0,0,mouseX, mouseY);

    fill(0);
    text("(" + mouseX + "," + mouseY + ")", mouseX + 10, mouseY);
    noFill();
}

そうすると、マウスの矢印の右横にマウスの現在地(横位置,縦位置)が表示されます。
以下のような画面が表示されるはずです。
マウスをぐりぐり動かすと数字が変わりますよね。

20171119-02.png


ちなみに「text()」は画面上に文字を書くときに使う関数です。
細かい書式は他のところで勉強してください。

そんな感じ\(--)/
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:Processing  thema:パソコンな日々 - genre:コンピュータ  Posted by ササキマコト 

  関連記事