// タップしたらベルトが震える処理(タップ回数の加算) // 体脂肪率の表示と、タップしたら体脂肪率が減少する処理 void TapReaction() { if (_ray_touch.isRayTouch(_icon)) { _score++; _body_fat_per -= 0.2f; Debug.Log("SCORE = " + _score); } else { _belt.transform.Translate(new Vector3(0, 0)); } }
// アイコンの表示----------------------------------------------- // 必須:表示するタイミング・ポジション・制限時間 // 時間内にタップをしていない場合にも戻り値が必要になってしまうので // bool型にするのは諦めました。 private void drawQTE(bool boolian, float time, Vector3 pos, float time_limit) { // 常にカメラの方向に正面を向ける(ビルボード) this.transform.LookAt(this.targetCamera.transform.position); // 指定した時間に表示 if (_timer >= time && !_doCreate) { _icon = Instantiate(Icon); _icon.transform.Translate(pos); _doCreate = true; } // 制限時間内にタッチできたかを判定 if (_timer >= time && _timer <= (time + time_limit)) { // タッチ処理 if (!_doTouch && _ray_touch.isRayTouch(_icon)) { Debug.Log("タップ成功!!"); _doTouch = true; Destroy(_icon); Destroy(this); boolian = true; } } // 制限時間内にタッチしなければ else if (!_doTouch && _timer > (time + time_limit)) { Debug.Log("タップ失敗!!"); Destroy(_icon); Destroy(this); boolian = false; } }