// Update is called once per frame void Update() { //此处判断游戏关卡结束条件,关卡对象总数暂时写100个,后续根据midi文件生成 //if(Time.time>midi.TotalLength/1000+5) //{ // Application.LoadLevel ("end"); // Destroy(this); // analysisSignal.midiClose(); //} content = "实时得分:" + scoreUtil.PerScore.ToString() + "\r\n"; content += "力度匹配程度:" + scoreUtil.ForceRation.ToString() + "\r\n"; content += "总得分:" + scoreUtil.Score.ToString() + "\r\n"; content += "当前正确率:" + scoreUtil.Correct + "/" + count + "\r\n"; if (count < midi.Count) { example(midi.NoteDelta[count] / 1000f); } foreach (int index in nullList) { goList.RemoveAt(index); } nullList = new ArrayList(); /*if (Input.GetKeyDown (KeyCode.W)) { * foreach(GameObject go in goList){ * if(go==null){ * nullList.Add(goList.IndexOf(go)); * }else{ * go.BroadcastMessage ("ReceiveBroadcastMessage","C5"); * } * } * }*/ if (Input.anyKey) { if (Input.GetKeyDown(KeyCode.W)) { foreach (GameObject go in goList) { if (go == null) { nullList.Add(goList.IndexOf(go)); } else { go.BroadcastMessage("ReceiveBroadcastMessage", "C5"); } } } if (!analysisSignal.isEquelPerString(Input.inputString) && Input.inputString != "") { analysisSignal.analysisMidiKey(Input.inputString); midikeycode = analysisSignal.KeyCode; if (midikeycode != null && midikeycode.KeyCode != null && Midi.getNote(midikeycode.KeyCode) != null) { foreach (GameObject go in goList) { if (go == null) { nullList.Add(goList.IndexOf(go)); } else { go.BroadcastMessage("ReceiveBroadcastMessage", Midi.getNote(midikeycode.KeyCode)); } } } Debug.Log("键值:" + midikeycode.KeyCode); //Debug.Log("键是否为释放状态:"+midikeycode.IsRrelease); //Debug.Log("按键力度:"+midikeycode.Strength); //Debug.Log("按键时间戳:"+midikeycode.Time_ticks); } } }