このブログの内容が難しい方へ

もし、内容が難しくて理解出来ない場合には、Cプログラミング入門以前などのプログラミングを始める前に知っておくと良い事が書いてある本を読んでから、その後にやさしいC 第3版 [やさしいシリーズ]などのC言語というプログラミング言語の入門書を読むことをお勧めします。また、MIDIの知識がない人は、コンプリートMIDIブックなどがお勧めです。そこまで理解できれば、KSP特有の作法は、このブログを参考にすれば大丈夫だと思います。

2011年9月4日日曜日

ui_knob

ui_knobは、簡単なようで、ちょっと難しいところがあります。前回説明したとおり、UIの各要素はinit callbackで変数として宣言します。つまり、ui_knobは、変数の型ってことですね。で、引数の説明に入ります。ui_knobは引数を3つ取ります。第1引数には最小値、第2引数には最大値、第3引数にはdisplay-ratioとあります。このdisplay-ratioというのが、少し分かりにくいかもしれません。まずは、このdisplay-ratioを1にしてみましょう。

on init
      declare ui_knob $Knob_1 (0,10,1)
      declare ui_knob $Knob_2 (0,100,1)
      declare ui_knob $Knob_3 (0,1000,1)
      declare ui_knob $Knob_4 (5,10,1)
      declare ui_knob $Knob_5 (500,1000,1)
end on

さて、どれも特に理解するのに難しくない動作をすると思います。ちなみに、マウスで数値を細かく調整したい時にはshiftキーを押しながらになります。では、次のコードを見てください。

on init
      declare ui_knob $Knob_1 (0,1000,1)
      declare ui_knob $Knob_2 (0,1000,10)
      declare ui_knob $Knob_3 (0,1000,100)
      declare ui_knob $Knob_4 (0,1000,20)
      declare ui_knob $Knob_5 (0,1000,-1)
      declare ui_knob $Knob_6 (0,1000,-10)
end on

Knob_1は、特に難しくないですよね。では、Knob_2の動作です。これは結果的に、最小値が0で、最大値が100、単位が0.1ずつになると思います。Knob_1との違いは、display-ratioの値だけですので、ここが怪しいとなります。で、どういうことかというと、display-ratioを10にすると、第2引数に指定した値を10で割った値が最大値になります。この場合は、1000を10で割ると100になりますので、最大値は100になるわけです。さらに、ノブを動かした時の数値の変化の単位も1を10で割った値になります。つまり0.1ずつの変化になるわけです。同じようにKnob_3もKnob_4も計算してみてください。どうですか?ちゃんと計算したとおりの動作を確認できたでしょうか?ちなみにKnob_5とKnob_6は、マイナスを付けただけです。

on init
      declare ui_knob $Knob_1 (500,1000,10)
end on

ちなみに、第1引数に0以外の数値を指定した場合も、display-ratioで指定した値で割った値になります。この場合は、最小値が50.0で、最大値が100.0で、単位が0.1ずつの変化になります。

0 件のコメント:

コメントを投稿