前提・実現したいこと
javaを使ってleapmotionを利用した仮想タイピングソフト(簡易)を作成しています。
右手左手の各指にそれぞれキーを割り当て、曲がった指に割り振られて文字が入力されるというものです。
各指の判断と割り当てたキーを表示させることはできたのですが、右手と左手の判断ができずどちらの指を曲げても左手の文字が表示されてしまいます。
現在手のX座標が0未満なら左、そうでなければ右という風にプログラムを打とうと考えているのですが、X座標の取り方がわかりません。
どなたかX座標の取得方法、もしくは右手、左手の判別方法を教えていただけないでしょうか?
よろしくお願いします。
発生している問題・エラーメッセージ
該当のソースコード
Java
int getChoice(Hand hand) {
FingerList fingers = hand.fingers(); // FingerList オブジェクトに見つかった指の情報(複数)を入れる
Vector palmPos = hand.palmPosition(); // 手のひらの位置を取得
int typetext=0; //曲げていない状態
for(int i = 0; i < fingers.count(); i++) { // 見つかった全ての指について
Finger finger = fingers.get(i); // 指 i を取得(0:親指, 1:人差し指, 2:中指, 3:薬指, 4:小指)
int x=-5;←「ここをleapmotionから取得したX座標にしたい。現在は仮に5を代入」
if(i==0){
if(finger.isExtended()==false){
typetext=1;
}
}
if(i==1 && x<0){
if(finger.isExtended()==false){
typetext=2;
}
}・・・・
試したこと
isright、isleftというのがあるらしく試してみたがうまくいかなかった。
C#のソースコードは見かけた。
補足情報(FW/ツールのバージョンなど)
processing、LeapSDKを使用。
回答1件
あなたの回答
tips
プレビュー