2010年4月23日金曜日

[line]

lineは線なので、線をたどって徐々に変化させるということなのでしょうか?
数値A(開始値)から数値B(終了値)にXミリ秒かけて変化させるオブジェクトです。

【書式】
[line]
[line arg1]
【引数】
  • arg1:開始値

【inlet, outlet】
  • inlet1:終了値
  • inlet2:変化させるミリ秒
  • outlet1:inlet2の秒数をかけ、arg1(2回目以降は直前のinlet1)からinlet1の数値に向けて変化させる数値を出力

【サンプル】


このオブジェクトはちょっと気をつけないといけないかもしれません。
それはinlet1に100を入力した後、200を入力したとき、その変化は
0→100、100→200となります。lineは前回の終了値を記憶してます。
(ちなみに開始値、終了値という言葉は勝手に作りました。)

つまり上のサンプルの(1)→(7)→(1)の順に押してもlineが
前回の終了値1000を記憶してるため(8)のNumオブジェクトを直接0にしても
出力は開始値1000から終了値1000を1秒かけて変化させる
というものになるので一瞬で1000になるだけです。

もう一点、inlet2に値を入れた後、inlet1に数値を入力すると
inlet2に入れた値は無効となり、多分0になります。
(5)→(4)→(3)の順に押すと、500への変化は20秒かかりますが
30000への変化は0秒です。
(1)→(2)→(1)→(2)→(1)……の順に押せば指定した時間かけて変化します。
ですので変化させる時間は変化があまりない場合は、[$1 $2]として
これをinlet1に入れた方がよさそうです。

【追記】
[5000, 0 1000]としてメッセージオブジェクトなどでinlet1に入力してやると
5000から0に1000msで変更しました。つまり
[開始値, 終了値 変更時間]
ですね。

0 件のコメント:

コメントを投稿