void Update() { //计时 _timertime = _timer.Elapsed.TotalMilliseconds; //判断是否前仰,,,用鼠标左键代替 _isFwd = Input.GetMouseButton(0); //暂时去掉鼠标左键 _isFwd = true; //判断是否在音符内 var ray = Camera.main.ScreenPointToRay(new Vector2(Screen.width / 2, Screen.height / 2)); _insideNote = Physics.Raycast(ray); if (Input.GetKey(KeyCode.Space) && _insideNote && _isFwd) { if (_fpController != null && _fpController.activeSelf) { _fpController.SetActive(false); } } else { if (_fpController != null && !_fpController.activeSelf) { _fpController.SetActive(true); } } if (Input.GetKeyDown(KeyCode.Space) && Judgeonce && _isFwd) { //产生单次音符敲击动画 var center = app.model.FpModel.DynamicPos.GetComponent <Transform>().position; app.model.FpModel.DynamicEffect.SetActive(true); Instantiate(app.model.FpModel.DynamicEffect, center, GetComponent <Transform>().rotation); //按键时间 _beatsSigm = _timertime / 1000; _timer.Stop(); var a = new JudgementSystem(); resultJudgement = a.Judgement(_insideNote, _beatsSigm, _codeBias); if (resultJudgement == JudgementEnum.NotClick) { return; } // TuneStatusCO.SetActive(true); //animator.SetInteger("TuneStatues", result); #region ADDSCORE Debug.Log("前仰音点击时间 " + _beatsSigm + "评级 " + resultJudgement.ToString()); Debug.Log("此次得分:" + TuneScoreSheet.GetInstance.ReadScore(TunesTypeEnum.FwdTune, resultJudgement, 3.0f, 0.5f)); ScoreSystem.GetInstance.CalculateCurrentScore(float.Parse(TuneScoreSheet.GetInstance.ReadScore(TunesTypeEnum.FwdTune, resultJudgement, 3.0f, 0.5f))); Debug.Log("当前分数 :" + ScoreSystem.GetInstance.CurrentScore); FindObjectOfType <ScoreField>() .GetComponent <ScoreField>() .UpdateScore(ScoreSystem.GetInstance.CurrentScore); #endregion #region ADDCOMBO // if(resultJudgement!=JudgementEnum.Miss) // { // ComboSystem.GetInstance.AddCurrentCombo(time,musicPointPrefab); // } if (resultJudgement != JudgementEnum.Miss) { ComboSystem.GetInstance.AddCurrentCombo(); } else if (resultJudgement == JudgementEnum.Miss) { ComboSystem.GetInstance.ResetCurrentCombo(); } #endregion if (SongModel.HandlerDictionary.Count != 0) { SongModel.Curtunetime = SongModel.HandlerDictionary.Keys.Min(); } SongModel.Curover = true; // judgeonce = false; _timer.Start(); } if (_timertime > 1000 && Judgeonce == true) { //TuneStatusCO.SetActive(true); //animator.SetInteger("TuneStatues", 4); } if (Input.GetKeyUp(KeyCode.Space) && Judgeonce == true && _isFwd == true && _insideNote == true) { //产生单次音符敲击动画 var center = app.model.FpModel.DynamicPos.GetComponent <Transform>().position; app.model.FpModel.DynamicEffect.SetActive(true); Instantiate(app.model.FpModel.DynamicEffect, center, this.GetComponent <Transform>().rotation); //按键时间 _beatsSigm = (_timertime - 1000) / 1000; _timer.Stop(); var a = new JudgementSystem(); resultJudgement = a.Judgement(_insideNote, _beatsSigm, _codeBias); TuneStatusCo.SetActive(true); _animator.SetInteger("TuneStatues", (int)resultJudgement); print("点击时间" + _beatsSigm + "评级" + resultJudgement); Judgeonce = false; if (SongModel.HandlerDictionary.Count != 0) { SongModel.Curtunetime = SongModel.HandlerDictionary.Keys.Min(); } SongModel.Curover = true; _timer.Start(); } if (_timertime > 3000 && Judgeonce == true) { if (SongModel.HandlerDictionary.Count != 0) { SongModel.Curtunetime = SongModel.HandlerDictionary.Keys.Min(); } SongModel.Curover = true; TuneStatusCo.SetActive(true); _animator.SetInteger("TuneStatues", (int)JudgementEnum.Miss); resultJudgement = JudgementEnum.Miss; if (resultJudgement == JudgementEnum.Miss) { ComboSystem.GetInstance.ResetCurrentCombo(); } } if (_timertime >= 4200) { if (SongModel.HandlerDictionary.Count != 0) { SongModel.Curtunetime = SongModel.HandlerDictionary.Keys.Min(); } SongModel.Curover = true; Destroy(gameObject); //print("DestroygameObject"); } }
private void Update() { //计时 _timertime = _timer.Elapsed.TotalMilliseconds; //判断是否在音符内 var ray = Camera.main.ScreenPointToRay(new Vector2(Screen.width / 2, Screen.height / 2)); RaycastHit hitInfo; string myname = transform.name; if (Physics.Raycast(ray, out hitInfo) && hitInfo.collider.name == myname) { _insideNote = true; } else { _insideNote = false; } if (Input.GetKeyDown(KeyCode.Space) && Judgeonce) { //产生单次音符敲击动画 var center = app.model.FpModel.DynamicPos.GetComponent <Transform>().position; app.model.FpModel.DynamicEffect.SetActive(true); Instantiate(app.model.FpModel.DynamicEffect, center, this.GetComponent <Transform>().rotation); //按键时间 _beatsSigm = _timertime / 1000; _timer.Stop(); var a = new JudgementSystem(); resultJudgement = a.Judgement(_insideNote, _beatsSigm, _codeBias); TuneStatusCo.SetActive(true); _animator.SetInteger("TuneStatues", (int)resultJudgement); #region ADDSCORE Debug.Log("单音点击时间 " + _beatsSigm + "评级 " + resultJudgement.ToString()); Debug.Log("此次得分:" + TuneScoreSheet.GetInstance.ReadScore(TunesTypeEnum.SingleTune, resultJudgement)); //通知ScoreSystem增加对应得分 ScoreSystem.GetInstance.CalculateCurrentScore( float.Parse(TuneScoreSheet.GetInstance.ReadScore(TunesTypeEnum.SingleTune, resultJudgement))); Debug.Log("当前分数 :" + ScoreSystem.GetInstance.CurrentScore); //找到分数显示区域,通知它改变总分 FindObjectOfType <ScoreField>() .GetComponent <ScoreField>() .UpdateScore(ScoreSystem.GetInstance.CurrentScore); #endregion #region ADDCOMBO // if(resultJudgement!=JudgementEnum.Miss) // { // ComboSystem.GetInstance.AddCurrentCombo(time,musicPointPrefab); // } if (resultJudgement != JudgementEnum.Miss) { ComboSystem.GetInstance.AddCurrentCombo(); } else if (resultJudgement == JudgementEnum.Miss) { ComboSystem.GetInstance.ResetCurrentCombo(); } #endregion Judgeonce = false; if (SongModel.HandlerDictionary.Count != 0) { SongModel.Curtunetime = SongModel.HandlerDictionary.Keys.Min(); } SongModel.Curover = true; _timer.Start(); } if (_timertime > 2000 && Judgeonce) { TuneStatusCo.SetActive(true); _animator.SetInteger("TuneStatues", (int)JudgementEnum.Miss); Judgeonce = false; if (SongModel.HandlerDictionary.Count != 0) { SongModel.Curtunetime = SongModel.HandlerDictionary.Keys.Min(); } SongModel.Curover = true; //ComboSystem.GetInstance.ResetCurrentCombo(); resultJudgement = JudgementEnum.Miss; if (resultJudgement == JudgementEnum.Miss) { ComboSystem.GetInstance.ResetCurrentCombo(); } } if (_timertime >= 3300) { if (SongModel.HandlerDictionary.Count != 0) { SongModel.Curtunetime = SongModel.HandlerDictionary.Keys.Min(); } SongModel.Curover = true; Destroy(gameObject); } }