UnityUIのScrollView Contentが実機転送時に表示されない

実現したいこと

Unity の ScrollView にあるコンテンツが実機転送すると表示されない

前提

UnityでAssets/Resources/Music内にあるデータを読み込んでリストに表示するプログラムを作成したのですが、Unityエディタ上では正常にリストに追加されているにも関わらず、実機転送するとなぜか一つも表示されません。

発生している問題・エラーメッセージ

アプリビルド時にScrollView内の情報が表示されない

該当のソースコード

C#

1using System.Collections;2using System.Collections.Generic;3using UnityEngine;4using UnityEngine.UI;5using TMPro;6using System.IO;7using UnityEngine.Networking;8using System.Linq;9 10//コードは一部作り途中ですがリスト表示はすでに完了しています。11[System.Serializable]12public class MusicData 13{14 public string title;15 public string artist;16 public float bpm;17 public List<int> levels; // レベルリスト18 public Sprite image; // 追加:曲の画像19}20 21public class MusicListUI : MonoBehaviour 22{23 public List<MusicData> musicList;24 public GameObject musicItemPrefab;25 public RectTransform musicListContainer;26 public MusicSelectController musicSelectController; // 追加:MusicSelectControllerへの参照27 28 private void Start()29 {30 musicSelectController = FindObjectOfType<MusicSelectController>();31 Debug.Log("musicSelectController: " + musicSelectController);32 33 musicList = new List<MusicData>(); // 追加:musicListの初期化34 }35 36 public void AddMusicData(MusicData musicData)37 {38 musicList.Add(musicData);39 }40 41 public void UpdateMusicListUI()42 {43 // 既存のアイテムを削除44 foreach (Transform child in musicListContainer)45 {46 Destroy(child.gameObject);47 }48 49 // 新しいアイテムを生成50 foreach (MusicData musicData in musicList)51 {52 string imagePath = "Music/" + musicData.title;53 54 GameObject musicItem = Instantiate(musicItemPrefab, musicListContainer);55 TextMeshProUGUI titleText = musicItem.transform.Find("TitleText").GetComponent<TextMeshProUGUI>();56 TextMeshProUGUI artistText = musicItem.transform.Find("ArtistText").GetComponent<TextMeshProUGUI>();57 TextMeshProUGUI bpmText = musicItem.transform.Find("BpmText").GetComponent<TextMeshProUGUI>();58 TextMeshProUGUI levelText = musicItem.transform.Find("LevelText").GetComponent<TextMeshProUGUI>();59 Button selectButton = musicItem.transform.Find("selectButton").GetComponent<Button>();60 61 Sprite image = Resources.Load<Sprite>(imagePath);62 63 levelText.text = "Levels: " + string.Join(", ", musicData.levels.Select(level => level.ToString()).ToArray());64 titleText.text = musicData.title;65 artistText.text = "Artist: " + musicData.artist;66 bpmText.text = "BPM: " + musicData.bpm.ToString();67 68 selectButton.onClick.AddListener(() =>69 {70 SetImageOnButtonPress(musicData);71 });72 }73 }74 75 76 public void SetImageOnButtonPress(MusicData musicData)77 {78 79 string imagePath = "Music/" + musicData.title;80 //string imagePath = "Music/一年に一度のいちごふぇすてぃばる";81 82 Sprite image = Resources.Load<Sprite>(imagePath);83 musicSelectController.UpdateImage(image);84 85 musicSelectController.ChangeMusic(musicData);86 }87}88

試したこと

UnityでのUIサイズ変更

補足情報(FW/ツールのバージョンなど)

Unity:2022.3.1f1
実機:Android11(Black Shark 4 Pro)

コメントを投稿

0 コメント