Unity3d OnApplicationPause与OnApplicationFocus 判断游戏暂停还是重新启动

欢迎来到unity学习unity培训、unity企业培训教育专区,这里有很多U3D资源U3D培训视频U3D教程U3D常见问题U3D项目源码,我们致力于打造业内unity3d培训、学习第一品牌。

在手机游戏当中,会碰到“强制暂停”,如:锁屏、接电话或短信之类的。如果“强制暂停”时间过长,网络游戏有时得重新登录等事件。

而Unity3d,Android Plugins中的UnityPlayer.UnitySendMessage,经测试在强制暂停时,OnPause、OnStop周期中UnitySendMessage无效。

重点探索OnApplicationPause和OnApplicationFocus;

OnApplicationPause,当程序暂停;

OnApplicationFocus,当程序获得或失去焦点;

经测试:

强制暂停时,先 OnApplicationPause,后 OnApplicationFocus;

重新“启动”手机时,先OnApplicationFocus,后 OnApplicationPause;

思路:

1,定义两个bool

isPause=false;

isFocus=false;

OnEnable();初始化:

void OnEnable(){

isPause=false;

isFocus=false;

}

void OnApplicationPause(){

#if UNITY_IPHONE || UNITY_ANDROID

Debug.Log(“OnApplicationPause  “+isPause+”  “+isFocus);

if(!isPause)

{

// 强制暂停时,事件

pauseTime();

}

else

{

isFocus=true;

}

isPause=true;

#endif

}

void OnApplicationFocus(){

#if UNITY_IPHONE || UNITY_ANDROID

Debug.Log(“OnApplicationFocus  “+isPause+”  “+isFocus);

if(isFocus)

{

// “启动”手机时,事件

resumeList();

isPause=false;

isFocus=false;

}

if(isPause)

{

isFocus=true;

}

#endif

}

更多精彩请点击 http://www.gopedu.com/

时间: 2024-10-22 00:24:49

Unity3d OnApplicationPause与OnApplicationFocus 判断游戏暂停还是重新启动的相关文章

Unity3d OnApplicationPause与OnApplicationFocus

在手机游戏当中,会碰到"强制暂停",如:锁屏.接电话或短信之类的.如果"强制暂停"时间过长,网络游戏有时得重新登录等事件. 而Unity3d,Android Plugins中的UnityPlayer.UnitySendMessage,经测试在强制暂停时,OnPause.OnStop周期中UnitySendMessage无效. 重点探索OnApplicationPause和OnApplicationFocus: OnApplicationPause,当程序暂停: On

Unity3D之游戏暂停制作方法记录

在游戏开发中我们一般都需要涉及到一个功能:游戏暂停,但是这里指的暂停仅仅是核心模块的暂停,并不是整个游戏都暂停,比如一些UI和UI上的动画与特效是不能被暂停的,整个游戏都暂停了玩家该如何继续游戏呢. 这里我们主要讨论Unity的游戏暂停实现. 使用timeScale 我们通过设定Time.timeScale的值可以影响到整个游戏的播放速率. 但是请注意,无论timeScale是多少都不会影响到Update.LateUpdate这2个方法的执行速度,而是会影响到Time.time和Time.del

【转】Unity3D AssetBundles 动态加载游戏资源

AssetBundles are files which you can export from Unity to contain assets of your choice. These files use a proprietary compressed format and can be loaded on demand in your application. This allows you to stream content like models, textures, audio c

Unity3D研究院之详解游戏开发音频的播放

游戏音频的播放在任何游戏中都占据非常重要的地位,音频的播放还可以分为两种,一种为游戏音乐,另一种为游戏音效.前者适用于较长的音乐,如游戏背景音乐.第二种试用与比较短的游戏音乐,如开枪,打怪 时“砰砰”一瞬间播放的游戏音效.今天MOMO将用下面的例子带盆友们去剖析Unity3D游戏音乐与音效的播放. Unity3D游戏引擎一共支持4个音乐格式的文件 .AIFF  适用于较短的音乐文件可用作游戏打斗音效 .WAV  适用于较短的音乐文件可用作游戏打斗音效 .MP3  适用于较长的音乐文件可用作游戏背

Cocos2d-x游戏暂停、继续游戏、重新开始界面的实现---之游戏开发《赵云要格斗》(10)

这里是Evankaka的博客,欢迎大家前来讨论与交流------      转载请注明出处http://blog.csdn.net/evankaka/article/details/42936117 本文要实现游戏中的暂停.重新开始.将当前界面截图,然后用这张图去构造一个层(以这张图为背景),然后加个按钮,主界面点暂停时,pushScene(),然后转到游戏暂停界面,当在游戏暂停界面点继续游戏popScne().在cocos2dx中推进(pushScene())暂停场景,之前运行的场景将会自动暂

unity3d 制作打飞机小游戏

作为刚入门小游戏,在制作过程中遇到一些问题,挑重点记录下. 第一:摇杆的制作 使用了官方的joystick类,但是官方没有提供c#版的joystick,这就导致了我不会将js脚本和c#脚本进行通信.最后解决办法是找到网络大牛翻译回来的joystick  c#版本,顺利实现摇杆.附上c#版joystick using UnityEngine; /** * File: MPJoystick.cs * Author: Chris Danielson of (monkeyprism.com) * //

游戏暂停时的屏蔽触摸

想让游戏暂停,只要调用 CCDirector::sharedDirector()->pause();  就行了,反止重新游戏就是 CCDirector::sharedDirector()->resume(); 但这有一个问题就是游戏层依然能接受触摸反应,我们想按下pause键游戏暂停,但游戏内容不再接受触摸,该怎么办呢? pause键一般是CCMenu, 它的触摸优先级为-128  数值越小越优先.所以我们想到的是游戏暂停的时候在游戏GameLayer层上加一个看不见的层,估且叫NoTouch

【浅墨Unity3D Shader编程】之一 游戏场景的创建 & 第一个Shader的书写

本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/40723789 作者:毛星云(浅墨)    微博:http://weibo.com/u/1723155442 邮箱: [email protected] 作为一个系统介绍Unity3D中Shader编写的系列文章的开篇,本文的第一部分系列文章的前言,然后第二部分介绍了这个系列文章中我们会使用的游戏场景创建方式,最后一部分讲解了如何在Un

unity3d模仿魔兽世界鼠标对游戏操作

1.新建unity3d项目,在项目中导入CharacterController包.在游戏中创建Plane作为地面,把Plane的Tag设为Ground.创建Directional light照亮游戏世界.把第三人称控制器放到Plane上面,之后把挂载第三人称的脚本Remove掉,把它的Tag设为Player. 2.创建LookTargetPos脚本,把它挂载到第三人称控制器上.它的作用是当鼠标左键按下且按下的位置为Plane时,第三人称控制器朝向鼠标按下方向. using UnityEngine