public void Judge() { float musicTime = _gameManager.GetMusicTime(); float frameSecond = _gameManager.m_frameSecond; JUDGERES judge = JUDGERES.POOR; //押されるべきタイミングより遅く押されたか、同時の場合 if (noteSecond >= musicTime) { if (noteSecond <= musicTime + (frameSecond * _gameManager.GetJudgeDifference(JUDGERES.PERFECT))) //parfect { judge = JUDGERES.PERFECT; } else if (noteSecond <= musicTime + (frameSecond * _gameManager.GetJudgeDifference(JUDGERES.GREAT))) //great { judge = JUDGERES.GREAT; } else if (noteSecond <= musicTime + (frameSecond * _gameManager.GetJudgeDifference(JUDGERES.GOOD))) //good { judge = JUDGERES.GOOD; } else { judge = JUDGERES.POOR; } } //押されるべきタイミングより早く押された場合 else { if (noteSecond >= musicTime - (frameSecond * _gameManager.GetJudgeDifference(JUDGERES.PERFECT))) //parfect { judge = JUDGERES.PERFECT; } else if (noteSecond >= musicTime - (frameSecond * _gameManager.GetJudgeDifference(JUDGERES.GREAT))) //great { judge = JUDGERES.GREAT; } else if (noteSecond >= musicTime - (frameSecond * _gameManager.GetJudgeDifference(JUDGERES.GOOD))) //good { judge = JUDGERES.GOOD; } else { judge = JUDGERES.POOR; } } _gameManager.NotesTimingFunc(lineNum, judge); Destroy(this.gameObject); }
/* * 判定結果を基に処理する関数 */ public void NotesTimingFunc(int num, JUDGERES judge) { GameObject t_JudgeResult; //判定結果を表示するためのゲームオブジェクト SpriteRenderer t_JudgeResultSprite; //t_JudgeResultのSpriteRendererコンポーネント t_JudgeResult = Instantiate(ref_judgeResultSprite, new Vector3(-4.0f + (2.0f * num), -1.0f, 0), Quaternion.identity); t_JudgeResultSprite = t_JudgeResult.GetComponent <SpriteRenderer>(); //判定ごとの処理 switch (judge) { case JUDGERES.PERFECT: t_JudgeResultSprite.sprite = ref_judgeSprite[(int)JUDGERES.PERFECT]; judgeCount[(int)JUDGERES.PERFECT]++; _score += 3; break; case JUDGERES.GREAT: t_JudgeResultSprite.sprite = ref_judgeSprite[(int)JUDGERES.GREAT]; judgeCount[(int)JUDGERES.GREAT]++; _score += 2; break; case JUDGERES.GOOD: t_JudgeResultSprite.sprite = ref_judgeSprite[(int)JUDGERES.GOOD]; judgeCount[(int)JUDGERES.GOOD]++; _score++; break; case JUDGERES.POOR: t_JudgeResultSprite.sprite = ref_judgeSprite[(int)JUDGERES.POOR]; judgeCount[(int)JUDGERES.POOR]++; break; default: break; } Debug.Log("Line:" + num + judge.ToString()); }
public float GetJudgeDifference(JUDGERES judgeRes) { return(m_judgeDifference[(int)judgeRes]); }