// 最大コンボ・スコアの更新 public void UpdateScore() { for (var i = 0; i < sound_length; i++) { Paneru paneru = sound_paneru_list[i]; paneru.MaxScore(); paneru.MaxCombo(); } }
// パネルがアクティブかつプレイ開始していなければ、任意のaudioリストを再生 void SetActiveSound(int index, bool active) { Paneru sound_paneru = sound_paneru_list[index]; if (active == true) { sound_paneru.MusicPlay(); } else { sound_paneru.MusicStop(); } }
private void Update() // 毎フレーム実行 { // プレイ中は処理しない if (canvas.GetComponent <NotesContoller>().IsPlaying == true) { return; } float cam_rot_y = cam.gameObject.transform.rotation.eulerAngles.y + 90; float cam_rot_x = cam.gameObject.transform.rotation.eulerAngles.x; cam_rot_y = cam_rot_y % 360; // 前フレームとカメラの角度が変わってない場合は処理しない if (cam_rot_y == prev_cam_rot_y) { return; } // 出現させる範囲設定 int rot = max_rot / sound_length; // 60; for (var i = 0; i < sound_length; i++) { Paneru paneru = sound_paneru_list[i]; CanvasGroup canvas = paneru.GetComponentInChildren <CanvasGroup>(); int trot = rot * (i) + 30; // 45 - 75 float minrot = trot - active_rot / 2; float maxrot = trot + active_rot / 2; // カメラの向きにより出現 if (minrot < cam_rot_y && maxrot > cam_rot_y && (cam_rot_x > 360 - 30 || cam_rot_x < 30)) { paneru.FadeIn(); SetActiveSound(i, true); } else { paneru.FadeOut(0.2f); SetActiveSound(i, false); } } prev_cam_rot_y = cam_rot_y; }
// music_list.jsonデータを元にパネルを生成 void CreateSelectPaneru() { GameObject prefab = (GameObject)Resources.Load("Prefab/SelectPaneru"); foreach (var music in music_list_json["music_list"]) { string json_file = music["json_file"].Get <string>(); string audio_file = music["audio_file"].Get <string>(); string image_file = music["image_file"].Get <string>(); int id = int.Parse(music["id"].Get <string>()); GameObject go = Instantiate(prefab); go.transform.SetParent(paneru_container.transform); go.transform.localScale = new Vector3(0.5f, 0.5f, 1.0f); Paneru paneru = go.GetComponent <Paneru>(); paneru.id = id; paneru.click_callback = ClickPaneru; sound_paneru_list.Add(paneru); AudioClip audio = Resources.Load(audio_file, typeof(AudioClip)) as AudioClip; paneru.Setup(json_file, audio, image_file); } }