2015年3月4日 星期三

【Unity】OnApplicationPause、OnApplicationFocus測試

(比較完整的後篇)
這是從先前寫過的背景執行之後後想到的內容,透過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。
以上是大致上的兩個函式的使用,這之中還有函式執行順序和執行次數等等的問題,還需要花點時間研究,這次就到這裡了。

沒有留言:

張貼留言

【自製小遊戲】水平思考猜謎(海龜湯)

遊戲連結 海龜湯的玩法是由出題者提出一個難以理解的事件,參與猜題者可以提出任何問題以試圖縮小範圍並找出事件背後真正的原因。但出題者僅能以「是」、「不是」或「沒有關係」來回答問題。 本遊戲蒐集各種論壇、平台的42個題目,提供給想玩海龜湯卻愁找不到題目的你們。 ...