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

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

2011年9月5日月曜日

move_controlとmove_control_px

move_controlも特に難しくなくて、第1引数には変数、第2引数にはX(横)軸の位置(最大値は6)、第3引数にはY(縦)軸の位置(最大値は16)を指定します。で、このmove_controlはinit callback以外でも使えるので、イベントによってUI要素を動かせるわけです。

on init
	make_perfview
	set_ui_height(8)
	declare ui_knob $Knob(0,1000,1)
	move_control($Knob,1,1)
	declare $X := 1
	declare $Y := 1
end on

on note
	if($X < 6)
		$X := $X + 1
	else
		$X := 1
		if($Y < 15)
			$Y := $Y + 2
		else
			$Y := 1
	end if
	end if
	move_control($Knob,$X,$Y)
end on

このプログラムを実行すると、ノートオン毎にノブが動きます。ちなみにmove_control_pxは、ピクセル単位で動かすことが出来ます。

on init
	make_perfview
	set_ui_height(8)
	declare ui_knob $Knob(0,1000,1)
	move_control_px($Knob,66,2)
	declare $X := 66
	declare $Y := 2
end on

on note
	if($X < 500)
		$X := $X + 90
	else
		$X := 66
		if($Y < 260)
			$Y := $Y + 40
		else
			$Y := 2
	end if
	end if
	move_control_px($Knob,$X,$Y)
end on

で、これはピクセル単位で動かしただけ。

0 件のコメント:

コメントを投稿