// Use this for initialization void Start() { SimpleMusicData musicData = GameParameter.Instance().GetSelectMusicData(); max_count = (musicData.KeyArray == null) ? 0 : musicData.KeyArray.Length; scoreBoard = GameObject.Find("ScoreBoard"); scoreText = scoreBoard.GetComponent <Text>(); }
void Start() { // 楽曲データを読み込む GameParameter gameParameter = GameParameter.Instance(); SimpleMusicData musicData = gameParameter.GetSelectMusicData(); audioManager = AudioManager.Instance; // オーディオソースの準備 audioManager.SetClip(musicData.GetAudioClip()); // 楽曲を再生(ゲーム開始)する。 audioManager.Play(); }
protected override void Load() { // 楽曲の一覧を取得する MusicListJson list; string json = Resources.Load(path).ToString(); list = JsonUtility.FromJson <MusicListJson>(json); SimpleMusicData musicData; MusicListItemJson item; MusicInf inf; MusicDTO.EditData data; MusicOldDTO oldData; // 楽曲の詳細な情報を取得する for (int i = 0; i < list.items.Length; i++) { musicData = new SimpleMusicData(); // id,pathを読み込む item = list.items[i]; // 楽曲情報を読み込む json = Resources.Load("Music/" + item.path + "/info").ToString(); inf = JsonUtility.FromJson <MusicInf>(json); // 譜面情報を読み込む if (inf.score_ver == 1) { json = Resources.Load("Music/" + item.path + "/score").ToString(); data = JsonUtility.FromJson <MusicDTO.EditData>(json); MusicDTOFormatter musicDTOFormatter = new MusicDTOFormatter(item, inf, data); musicData = musicDTOFormatter.ToSimpleMusicData(); } else if (inf.score_ver == 0) { json = Resources.Load("Music/" + item.path + "/score").ToString(); oldData = JsonUtility.FromJson <MusicOldDTO>(json); MusicDTOFormatter musicDTOFormatter = new MusicDTOFormatter(item, inf, oldData); musicData = musicDTOFormatter.ToSimpleMusicData(); } musicDataList.Add(musicData); } }
void InitNotes() { musicData = GameParameter.Instance().GetSelectMusicData(); // ノート情報 timingArray = musicData.TimingArray; keyArray = musicData.KeyArray; noteIndex = 0; poolIndex = 0; float fallDist = Constants.DEFAULT_FALL_DIST; float fallSpeed = (3 / Constants.DEFAULT_FALL_SPEED) * (120.0f / musicData.Bpm); fallTime = fallSpeed / fallDist * 100; Debug.Log("fallDist : " + fallDist); Debug.Log("fallSpeed : " + fallSpeed); Debug.Log("falltime : " + fallTime); float fallDistOffset = 0; if (!Mathf.Approximately(Constants.JUDGE_OFFSET_TIME, 0.0f)) { fallDistOffset = (float)(fallDist / fallTime * Constants.JUDGE_OFFSET_TIME); } else { fallDistOffset = 0; } //ノートプールの準備 notePool = new List <Note>(); activeNoteList = new List <Note>(); // TODO:fallSpeedはBPMによって変化させる for (var i = 0; i < poolSize; i++) { GameObject noteObject = Instantiate(notePrefab, new Vector3(0, -100, -100), new Quaternion(0.0f, 180.0f, 0.0f, 1.0f)); Note note = noteObject.GetComponent <Note>(); note.InitNote(); note.fallDist = fallDist; note.fallDistOffset = fallDistOffset; note.fallSpeed = fallSpeed; note.fallTime = fallTime; notePool.Add(note); } }
public SimpleMusicData ToSimpleMusicData() { SimpleMusicData musicData = new SimpleMusicData(); if (dto_data != null) { // MusicDTO.EditDataをSimpleMusicDataに変換する int[] key = new int[dto_data.notes.Count]; double[] timing = new double[dto_data.notes.Count]; var j = 0; foreach (var item in dto_data.notes) { double lpb = item.LPB; double num = item.num; int block = item.block; //1拍あたりの時間を計算する double section = 60 / (double)dto_data.BPM /* *4 */; double beat = section / lpb; timing[j] = beat * num; key[j] = block; j++; } musicData.TimingArray = timing; musicData.KeyArray = key; musicData.Bpm = dto_data.BPM; } else if (old_data != null) { musicData.TimingArray = old_data.timing; musicData.KeyArray = old_data.key; musicData.Bpm = 160; } musicData.Id = item.id; musicData.Path = item.path; musicData.Inf = inf; return(musicData); }