if (squat) {
if(Math.abs(leftHip.getPosition().x - leftKnee.getPosition().x) < 30){ //서있을 때
chk_squat = 0;
knee_check = 0;
sit_check = 0;
}
if (leftHeel.getPosition().x > leftFootIndex.getPosition().x){ // 왼쪽을 보고있을 떼
//무릎이 발밖으로 많이 나올경우
if (knee_check == 0 && leftKnee.getPosition().x < leftFootIndex.getPosition().x || rightKnee.getPosition().x < rightFootIndex.getPosition().x) {
knee_check++;
tts1.speak("무릎을 넣어주세요.", TextToSpeech.QUEUE_FLUSH, null);
}
//서있지 않으면서 무릎과 엉덩이의 각도가 90도보다 작아지게 제대로 앉지 않았을 경우
else if(sit_check == 0 && chk_squat < 7 && Math.abs(leftHip.getPosition().x - leftKnee.getPosition().x) > 30 && (leftKnee.getPosition().y - leftHip.getPosition().y > 0 && leftKnee.getPosition().y - leftHip.getPosition().y <=45 )){
sit_check++;
tts1.speak("더 앉아주세요.", TextToSpeech.QUEUE_FLUSH, null);
chk_squat++;
}
}
else { //오른쪽 보고 있을 때
//무릎이 발밖으로 많이 나올경우
if(Math.abs(rightHip.getPosition().x - rightKnee.getPosition().x) < 30){ //서있을 때
chk_squat = 0;
knee_check = 0;
sit_check = 0;
}
if (knee_check == 0 && leftKnee.getPosition().x > leftFootIndex.getPosition().x + 40 || rightKnee.getPosition().x > rightFootIndex.getPosition().x + 40) {
knee_check++;
tts1.speak("무릎을 넣어주세요.", TextToSpeech.QUEUE_FLUSH, null);
}
// 서있지 않으면서 무릎과 엉덩이의 각도가 90도보다 작아지게 제대로 앉지 않았을 경우
else if (sit_check == 0 && chk_squat < 7 && Math.abs(rightHip.getPosition().x - rightKnee.getPosition().x) > 30 && (rightKnee.getPosition().y - rightHip.getPosition().y > 0 && rightKnee.getPosition().y - rightHip.getPosition().y <=45)) {
sit_check++;
tts1.speak("더 앉아주세요", TextToSpeech.QUEUE_FLUSH, null);
chk_squat++;
}
}
}
만들고자 하는 것은 tts 음성이 한 번만 구현되게 하고싶은데...혹시 다른 방법이 없을까요??ㅜㅜ