初めまして。
前回に引き続き、しばらく放っておいたMax8を触っていきます。
Max8を起動 > help > reference > docs > tutorialでチュートリアルを見てみる。
※見る用はブラウザ(日本語に訳して)で、触る用はソフトウェアからの二つに分けるのがオススメ。
Tutorial2:Bang!
①
一番左のパッチから、Bangボタンをprintオブジェクトに繋いでいます。
「<click me!」を押下し、MaxConsoleを確認すると、「print・bang」と表示されます。
Bangボタンにはイベントを発生させる機能があるみたいです。そして、printオブジェクトはMaxConsoleに結果を表示する機能があるので上記のような挙動が確認できます。
②
ひとつ隣のパッチです。このオブジェクトとオブジェクトを繋ぐひとつの組み合わせの事をパッチと呼ぶみたいです。
このパッチと先ほどのパッチの違いは中間にMessageボックスを挟んでいる事です。
挙動は想像通りで、Bangボタンを押下すると、MaxConsoleに「print・Gotcha!」と表示されます。
③
その隣のパッチです。Bangボタンが3つあります。それぞれの挙動を確認すると以下のようになります。
1.one・bang one・bang
2.one・bang
3.one・bang
一番上の、茶色いBangボタンを押下した時だけ、MaxConsoleには2回メッセージが表示されています。
これはBang2つを経由してprintオブジェクトに繋がっているためです。
(色は見やすくするためだけに色分けしているようです)
そして、printとオブジェクトには引数に「one」を設定しています。
④
その隣のパッチです。先ほど同様Bangボタンが3つありますが、配列が異なるだけで挙動が違います。
それぞれの挙動を確認すると以下のようになります。
1.several・bang several・bang several・bang
2.several・bang
3.several・bang
一番上の、茶色いボタンを押下した時だけ、MaxConsoleに3回メッセージが表示されています。
先ほどとの配列の違いをみてみると、一番上の茶色いBangボタンがprintオブジェクトに直結している点です。
これにより、printオブジェクトには3にBangイベントが送られます。
⑤
一番右のパッチです。ご想像通りの結果を確認できます
1.many・How
2.mane・do
3.mane・I
4.mane・love
5.mane・thee?
ここで重要なのは順番です。パッチャー内のオブジェクトの空間構成には規則があり、ひとつのオブジェクトが複数の宛先を持つ場合、右から実行されます。
まとめ等
・パッチャー上でbを押すとBangボタンをショートカット入力できます。
・アウトレットが複数あり場合右から順に、インレットは入ってきた順に処理を実行します。
・Bangボタンはイベントを発生させます。
・printオブジェクトは引数を持たせることができます。
・引数がない場合、Bangがそのまま引数となります。