目錄
文章
分類
標籤
AI ai android Bitbucket C# C++ Certbot ChatGPT Cloudflare Code Runner CPE CPU排程 cron Daphne Django DNS設定 Docker fused-location Git GPT HTML HTTPS kotlin Line Bot Linux location-app Mac macOS MySQL n8n Next.js Nginx OpenAI permissions Python Python Django Pytorch pytorch PyTorch rclone React Redis Replit SSL streamlit Swap Ubuntu Unity Vector VM設定 VSCode WebSocket WordPress Wordpress wordpress-備份 yolo 中位數 伺服器設定 修復 最佳住址 利率 前端 動態生成 即時通訊 卷積神經網路 場景切換 學習 安全性 專案管理 帳號建立 影像分類 後台 性能 惡意軟體 成績查詢 投資 排序 操作系統 效率 教學 殖利率 深度學習 演算法 版本控制 物件偵測 神經網絡 程式解題 程式設計 競程 系統管理 終端機 統計 網頁框架 股票 自動化 財務 資料共享 資料結構 距離計算 路由 遊戲開發 選單 部署 開發 開發技巧 開發環境 開發者 雲端備份 靜態文件
目錄
目錄
618 字
3 分鐘
Unity 場景切換以及 Data 共享
這一篇文章主要是想分享 Unity的場景切換,那切換到不同的場景,要怎麼樣使用上一個場景所帶來的資料。
SongSelect Scene

按下Start按鈕開始,要把資料帶到下一個遊戲頁面。

MusicData.cs
1using System.Collections;2using System.Collections.Generic;3using UnityEngine;4<div></div>5[CreateAssetMenu(fileName = "MusicData", menuName = "Rhythm/MusicData")]6public class MusicData : ScriptableObject7{8 public string musicName;9 public string author;10 public AudioClip audioClip;11 public Sprite coverImage;12 public int bpm;13 public float length;14}1using System.Collections;2using System.Collections.Generic;3using UnityEngine;4
5[CreateAssetMenu(fileName = "MusicData", menuName = "Rhythm/MusicData")]6public class MusicData : ScriptableObject7{8 public string musicName;9 public string author;10 public AudioClip audioClip;11 public Sprite coverImage;12 public int bpm;13 public float length;14}SongDetailUI.cs
1using UnityEngine;2using UnityEngine.UI;3using UnityEngine.SceneManagement;4<div></div>5public class SongDetailUI : MonoBehaviour6{7 public Image coverImage;8 public TMPro.TextMeshProUGUI titleText;9 public TMPro.TextMeshProUGUI artistText;10 public TMPro.TextMeshProUGUI infoText;11 private MusicData current;12<div></div>13 public void ShowMusic(MusicData music)14 {15 current = music;16 // 將音樂資料帶入右邊的detail UI17 coverImage.sprite = music.coverImage;18 titleText.text = music.musicName;19 artistText.text = music.author;20 infoText.text = $"BPM: {music.bpm} Length: {music.length}";21 }22<div></div>23 public void Btn_Play() {24 if (current == null) {25 Debug.LogError("沒有選擇歌曲,無法開始遊戲");26 return;27 }28 // 將音樂存到GameData29 GameData.selectedMusic = current;30 SceneManager.LoadScene("GameScene");31 }32}1using UnityEngine;2using UnityEngine.UI;3using UnityEngine.SceneManagement;4
5public class SongDetailUI : MonoBehaviour6{7 public Image coverImage;8 public TMPro.TextMeshProUGUI titleText;9 public TMPro.TextMeshProUGUI artistText;10 public TMPro.TextMeshProUGUI infoText;11 private MusicData current;12
13 public void ShowMusic(MusicData music)14 {15 current = music;16 // 將音樂資料帶入右邊的detail UI17 coverImage.sprite = music.coverImage;18 titleText.text = music.musicName;19 artistText.text = music.author;20 infoText.text = $"BPM: {music.bpm} Length: {music.length}";21 }22
23 public void Btn_Play() {24 if (current == null) {25 Debug.LogError("沒有選擇歌曲,無法開始遊戲");26 return;27 }28 // 將音樂存到GameData29 GameData.selectedMusic = current;30 SceneManager.LoadScene("GameScene");31 }32}Button 觸發轉場
在Start按鈕定義的事件
1```2public void Btn_Play() {3 if (current == null) {4 Debug.LogError("沒有選擇歌曲,無法開始遊戲");5 return;6 }7 // 將音樂存到GameData8 GameData.selectedMusic = current;9 SceneManager.LoadScene("GameScene");10}1public void Btn_Play() {2 if (current == null) {3 Debug.LogError("沒有選擇歌曲,無法開始遊戲");4 return;5 }6 // 將音樂存到GameData7 GameData.selectedMusic = current;8 SceneManager.LoadScene("GameScene");9}1在另外一個遊戲場景,已經可以聽到點擊的對應的資料音樂。2
3透過 MusicData music = GameData.selectedMusic; 抓取剛剛的音樂。using System.Collections; using System.Collections.Generic; using UnityEngine;
public class GameMusicPlayer : MonoBehaviour { private void Start() { MusicData music = GameData.selectedMusic; if (music == null) { Debug.LogError("沒有選擇歌曲,無法開始遊戲"); return; } // 抓到全域的AudioSource AudioSource audio = GetComponent1using System.Collections;2using System.Collections.Generic;3using UnityEngine;4
5public class GameMusicPlayer : MonoBehaviour6{7 private void Start() {8 MusicData music = GameData.selectedMusic;9 if (music == null) {10 Debug.LogError("沒有選擇歌曲,無法開始遊戲");11 return;12 }13 // 抓到全域的AudioSource14 AudioSource audio = GetComponent<AudioSource>();15 audio.clip = music.audioClip;16 audio.Play();17
18 Debug.Log("開始播放:" + music.musicName);19 }20}成功取得音樂

以上就是轉場還有資料怎麼使用的一個概略展示。
部分資訊可能已經過時
目錄
文章
分類
標籤
AI ai android Bitbucket C# C++ Certbot ChatGPT Cloudflare Code Runner CPE CPU排程 cron Daphne Django DNS設定 Docker fused-location Git GPT HTML HTTPS kotlin Line Bot Linux location-app Mac macOS MySQL n8n Next.js Nginx OpenAI permissions Python Python Django Pytorch pytorch PyTorch rclone React Redis Replit SSL streamlit Swap Ubuntu Unity Vector VM設定 VSCode WebSocket WordPress Wordpress wordpress-備份 yolo 中位數 伺服器設定 修復 最佳住址 利率 前端 動態生成 即時通訊 卷積神經網路 場景切換 學習 安全性 專案管理 帳號建立 影像分類 後台 性能 惡意軟體 成績查詢 投資 排序 操作系統 效率 教學 殖利率 深度學習 演算法 版本控制 物件偵測 神經網絡 程式解題 程式設計 競程 系統管理 終端機 統計 網頁框架 股票 自動化 財務 資料共享 資料結構 距離計算 路由 遊戲開發 選單 部署 開發 開發技巧 開發環境 開發者 雲端備份 靜態文件
目錄