ダブルクリックを判定する
概要
スロットをアクティブにしてセッションに現れさせるではメニューボタンのダブルクリックを判定するLogiXがありました。ここではれにうむ(@rhenium_vrc)さんが提案したよりシンプルなLogiXを紹介します。
解説
PulseはIfから引き出したノードで、ここをクリックします。Standard Controllerの出力をImpulseに変換してつなげばメニューボタンのクリックを読み取れます。(「スロットをアクティブにしてセッションに現れさせる」参照)
最初のImpulseがIfにたどり着く時には、Elapsed Timeはとても大きい数字なっています。したがって、IfはFalseとなって、下のノードにImpulseを流します。
すると、Elapsed Timeは0にリセットされます。その結果<はTureを出します。
その後、0.3秒以内に次のImpulseがIfに届けば、上のノードにImpulseが出力されます。
おわりに
れにうむさんによれば、前のLogiXでは三回つづけてクリックするとかすると誤動作するとかで、このシンプルな形になったそうです。
ちなみにRelayを使っているのは、直接つなぐと、平面にLogiXが展開できないので、わかりやすさのために入れています。
また背景もワールドのごちゃごちゃした背景を消すために、ボード(DevTool → Create new… → 3D Model → Grid)をセッション内にスポーンしてくださいました。
関連するノード
If, Elapsed Time, Relay