unity, 模拟退后台

//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

时间: 2024-10-01 09:52:28

unity, 模拟退后台的相关文章

Unity模拟龙之谷人物行走简单控制

我个人挺喜欢龙之谷(DN)的人物控制的(不是广告哈....),就是人物太萌了一点,动作.打击感都挺好的. 今天用Unity简单模仿了一下DN的人物控制,当然,游戏里面动作很多,我这里只做了简单的walk和run的测试哈,但是感觉也蛮舒服的,哈哈. 期待的效果:鼠标旋转控制视角位置,滚轮控制镜头缩放.点击一次W键为行走,快速点击两次为奔跑. 1.准给工作: 场景中, 一个Camera.一块地皮.一只Cube 2.镜头的缩放和旋转实现: 看下Camera的组件: 再看下Cube的组件: mousel

POJ 2420 模拟退火法

A Star not a Tree? Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3272   Accepted: 1664 Description Luke wants to upgrade his home computer network from 10mbs to 100mbs. His existing network uses 10base2 (coaxial) cables that allow you

Ajax的post方法,模拟 从后台读取数据小demo

$(document).ready(function() { //定义一个函数 function timer() { $.post("1.json", function(data, status) { //var strHtml = ""; var $ul = $('#ul1'); // 服务器返回的信息, 有两个一个success, error console.log(status); // 成功循环数据, 添加到页面中 if(status == "su

angular js 模拟获取后台的数据

在这里我们把后台的数据用一个.json文件进行代替. 项目的目录结构如下: puDongLibraryLearning----ui-router-learning ---- data-------people.json puDongLibraryLearning-test.html people.json的代码如下: [ { "id": "293", "isActive": false, "eyeColor": "b

一次UNITY闪退问题的定位心得

最近项目测试发现,运行unity后不退出运行模式,玩了一局后点击 “再来一局”,反复十几局后unity崩掉. 经观察,发现在这十几局的过程中,unity占用内存不断上升,由3.2G左右上升到3.6G左右就崩掉.这似乎是内存不足引起的,但很奇怪,我有8G内存,怎么才涨了400M就崩了呢. 最终发现:这是由于项目中的地图类在每一局游戏结束时没有释放相关的引用,地图类中有几个大的二维数组,int32 arr[625][8000],由于这种二维数组在内存中必须连续,多局以后会造成很多内存碎片,最后导致无

模拟微信后台自定义菜单功能(前端)

准备:jquery layer 效果:横排最多三个,竖排最多五个子菜单,达到最多不现实+ 效果图 1 2 3 4 code: <div id="menus_box"> <div class="wx_menus_one"> <ul> <li onclick="showAddForm(this)" form-data="0"> <a href="#">

POJ 1379 模拟退火法

Run Away Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 5631   Accepted: 1728 Description One of the traps we will encounter in the Pyramid is located in the Large Room. A lot of small holes are drilled into the floor. They look complet

vue项目模拟后台数据

这次我们来模拟一些后台数据,然后去请求它并且将其渲染到界面上.关于项目的搭建鄙人斗胆向大家推荐我的一篇随笔<Vue开发环境搭建及热更新> 一.数据建立 我这里为了演示这个过程所以自己编写了这个data.json文件 1 { 2 "school":{ 3 "students":[ 4 { 5 "name":"方毅", 6 "sex":"男", 7 "age"

WebUI实践之使用AngularJS 进行独立开发(模拟后台)

条件与目标: 前端使用AngularJS,接口服务均使用$http访问. 与后台协商好接口,完全独立并行开发,不用等待后台开发完接口才能进行页面测试. 需要gulp打包系统参与,即打包之前可以模拟后台接口测试,而打包之后则为Release版本,需要真实后台服务参与. 虽不能包括所有情况,但大部分基于数据的场景都可实用. 实践方法: 在index.html中创建gulp打包区块,以<!--build:js js/app.min.js-->开始,以<!--/build-->结束. 在i