码迷,mamicode.com
首页 > 编程语言 > 详细

unity, 模拟退后台

时间:2017-01-13 21:51:49      阅读:1382      评论:0      收藏:0      [点我收藏+]

标签:note   find   cat   public   enter   com   geo   参考   i++   

//simulateSwitchToBackground.cs

using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class simulateSwitchToBackground : MonoBehaviour {
void sendApplicationPauseMessage(bool isPause){
Transform[] transList= GameObject.FindObjectsOfType<Transform>(); 
for (int i = 0; i < transList.Length; i++) {
Transform trans = transList [i];
//Note that messages will not be sent to inactive objects
trans.SendMessage ("OnApplicationPause",isPause,SendMessageOptions.DontRequireReceiver);
}
}
void sendApplicationFocusMessage(bool isFocus){
Transform[] transList= GameObject.FindObjectsOfType<Transform>(); 
for (int i = 0; i < transList.Length; i++) {
Transform trans = transList [i];
//Note that messages will not be sent to inactive objects
trans.SendMessage ("OnApplicationFocus",isFocus,SendMessageOptions.DontRequireReceiver);
}
}

public void sendEnterBackgroundMessage(){
sendApplicationPauseMessage (true);
sendApplicationFocusMessage (false);

}
public void sendEnterFoegroundMessage(){
sendApplicationFocusMessage (true);
sendApplicationPauseMessage (false);

}

}

 

//simulateSwitchToBackgroundEditor.cs

using UnityEngine;
using System.Collections;
using UnityEditor;
[CustomEditor(typeof(simulateSwitchToBackground))]
public class simulateSwitchToBackgroundEditor : Editor
{

void OnEnable(){
}

public override void OnInspectorGUI()
{


DrawDefaultInspector();
serializedObject.Update ();

serializedObject.ApplyModifiedProperties ();//now varibles in script have been updated


if (GUILayout.Button ("send enter background message")) {
if (Application.isPlaying) {
((simulateSwitchToBackground)target).sendEnterBackgroundMessage ();
}
}
if (GUILayout.Button ("send enter foeground message")) {
if (Application.isPlaying) {
((simulateSwitchToBackground)target).sendEnterFoegroundMessage ();
}
}
}


}

把simulateSwitchToBackground.cs挂到场景中的一个gameObject上,其inspector面板如下:

技术分享

在游戏运行过程中点“send endter background message”按钮,即模拟游戏退到后台。再点"send enter foeground message"按钮,模拟游戏从后台切回到前台。

 

参考:

http://www.voidcn.com/blog/goodai007/article/p-5804722.html

unity, 模拟退后台

标签:note   find   cat   public   enter   com   geo   参考   i++   

原文地址:http://www.cnblogs.com/wantnon/p/6283867.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!