// メンバ関数の定義 ===================================================== #region 初期化処理 //----------------------------------------------------------------- //! @summary 初期化処理 //! //! @parameter [void] なし //! //! @return なし //----------------------------------------------------------------- private void Start() { // コンポーネントの取得 m_transform = GetComponent <RectTransform>(); m_image = GetComponent <Image>(); // 色の初期化 // #の色を変化させる m_image.color = (m_noteData.m_scale.Contains("#")) ? new UnityEngine.Color(m_noteData.m_color.r * PiarhythmDatas.SHARP_COLOR_PERCENTAGE, m_noteData.m_color.g * PiarhythmDatas.SHARP_COLOR_PERCENTAGE, m_noteData.m_color.b * PiarhythmDatas.SHARP_COLOR_PERCENTAGE, 1.0f) : new UnityEngine.Color(m_noteData.m_color.r, m_noteData.m_color.g, m_noteData.m_color.b, 1.0f); // スケールの初期化 m_transform.localScale = Vector3.one; // 音階の設定 // 座標を設定された音階の位置に移動させる m_transform.position = new Vector3(m_keyDictionary[m_noteData.m_scale].position.x, m_transform.position.y, m_transform.position.z); float width = m_keyDictionary[m_noteData.m_scale].sizeDelta.x * m_keyDictionary[m_noteData.m_scale].parent.GetComponent <RectTransform>().localScale.x; m_transform.sizeDelta = new Vector2(width, m_transform.sizeDelta.y); // 手前に持ってくる Vector3 position = m_transform.localPosition; position.z = 0.0f; m_transform.localPosition = position; // 開始時間と長さの初期化 PiarhythmDatas.PositionData positionData = m_musicController.ConvertToPositionData(m_noteData.m_startBeat, m_noteData.m_noteLength); Vector2 offsetMin = m_transform.offsetMin; offsetMin.y = positionData.m_position; m_transform.offsetMin = offsetMin; Vector2 offsetMax = m_transform.offsetMax; offsetMax.y = offsetMin.y + positionData.m_lenght; m_transform.offsetMax = offsetMax; PiarhythmDatas.NoteData noteData = m_noteData.m_nextNoteData; while (noteData != null) { positionData = m_musicController.ConvertToPositionData(noteData.m_startBeat, noteData.m_noteLength); offsetMax = m_transform.offsetMax; offsetMax.y += positionData.m_lenght; m_transform.offsetMax = offsetMax; noteData = noteData.m_nextNoteData; } }