2017-06-08 32 views
-1

私はプログラムが常にBluetooth経由で別の電話機からユーザーの距離を取得するスレッドを持っています。変数が "移動"していることを確認してください

ユーザーがメーターを遠く/遠くに動かすとプログラムが「話す」というテキスト読み上げ機能を実装することを選択しました。私はすでに距離を得ることができますが、距離が少なくとも1メートル近く/遠くに移動したかどうかを調べる方法はわかりません。例:

Initial distance: 0.81 meters 

値が約1メートル増加または減少すると、TTS機能が有効になります。

Should activate TTS when distance becomes: 1.81, 2.85, 3.90 

距離が得られているので、第二値2.85が遠く最後距離1.81から、正確に1メートルではないことに注意してくださいあなたは距離を表示し、離れて歩き始める場合、それは次のようになります意味する「ジャンプ」:

Distance: 1.01, 1.86, 2.31, 3.29, ... 

私はさまざまな方法を試しましたが、私はそれをするようには思えません。どんな助けもありがとう!

+0

をあなたが最後に* TTSを有効にするので*距離の差を計算する必要があります。計算は単純に減算です。 –

答えて

0

この

int initDist = x; 
int newDist = y; 

int diff = newDist - initDist; 

if(diff >= 1){ 
    // activate TTS here; 
    initDist = newDist; 
} 
+0

質問は明らかにjava –

0

を試してみてくださいあなたは、次のコードを使用することができます。

int initialDistance = x;//declare it global 
int newDistance = y; 

if(Math.abs(newDistance -initialDistance)>=1) { 
//TTS; 
initialDistance = newDistance; 
} 
+0

タグがついています。私はこれらのライブラリが存在することを忘れているので、独自の関数を作成するのに慣れています。D:P – Sonam

関連する問題