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

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

2011年9月3日土曜日

purge_group()とget_purge_state()

purge_groupは、メモリ上から、指定したグループのサンプルをパージしちゃいます。つまり、メモリ上から消えてしまうっていうことです。get_purge_stateは、指定したグループがパージされているのかされていないのかをチェックする時に使います。purge_groupは、第1引数にグループインデックスを、第2引数に0か1を指定します。0の場合はパージします。1の場合はリロードします。ちなみにpurge_groupはui callbackでのみ使えます。以下のコードを見てください。

on init
  declare ui_button $Purge
  set_text ($Purge,"Purge First Group")
end on

on ui_control ($Purge)
	message($Purge)
	purge_group(0 ,abs($Purge-1))
end on

ボタンをクリックすると、インデックス0のグループがパージされます。ボタンは、押した状態が1で、押されていない状態が0になるのがわかるように、message($Purge)で表示しています。つまり、押されていない状態の変数Purgeの状態が0なわけですから、-1をして、abs()で絶対値をとると1になるわけです。つまり、ボタンをクリックする度に、パージされたり、リロードされたりするわけです。ちなみに、グループ名を使いたい時には、以下のようになります。

on init
  declare ui_button $Purge
  set_text ($Purge,"Purge Single")
end on

on ui_control ($Purge)
	message($Purge)
	purge_group(finde_group("Single") ,abs($Purge-1))
end on

get_purge_stateは、第1引数にグループインデックスを渡します。パージされていれば0が、されていなければ1を返します。

on init
	declare $State
	declare ui_button $Purge
	set_text ($Purge,"Purge First Group")
end on

on ui_control ($Purge)
	purge_group(0 ,abs($Purge-1))
	$State := get_purge_state(0)
	message($State)
end on

0 件のコメント:

コメントを投稿