這是從先前寫過的背景執行之後後想到的內容,透過Application.runInBackground可以做出遊戲程式的背景執行,而如果遊戲程式移到背景端需要暫停資訊或是被其他程式打斷時,以下是透過Unity內的OnApplicationPause和OnApplicationFocus兩個函式做出的簡易效果。
開始之前分別介紹兩個函式:
OnApplicationPause:在使用者將程式移至背景端視為暫停時會被呼叫。
OnApplicationFocus:當程式移回前端被點擊時會被呼叫。
以下是這次的測試:
using UnityEngine; using System.Collections; using UnityEngine.UI; public class ColorControl : MonoBehaviour { public Text gameState; void OnApplicationPause(bool isPause) { if (isPause){ gameState.text = "Pause"; renderer.material.color = Color.red; } } void OnApplicationFocus(bool isFocus){ if (isFocus) { gameState.text = "Focus"; renderer.material.color = Color.green; } } void Start () { renderer.material.color = Color.green; } }在Pause和Focus狀態cube的顏色分別為紅色和綠色,另外顯示狀態文字。
變換的效果當網頁縮小或切換到別的網頁的時候,視為暫停cube變為紅色,文字變為Pause,滑鼠點擊畫面時視為返回程式cube變為綠色,文字變為Focus。
以上是大致上的兩個函式的使用,這之中還有函式執行順序和執行次數等等的問題,還需要花點時間研究,這次就到這裡了。
沒有留言:
張貼留言