Unity3d监听手机暂停与退出事件

原文: http://www.cnblogs.com/kuangwu/archive/2013/06/18/3141865.html


做移动互联网类型的开放,很多情况得考虑移动设备的暂停与退出时,做某些数据操作或UI。

1,退出事件,Unity3d,InPut就包含了:

Input.GetKey(KeyCode.Escape) 、 Input.GetKey(KeyCode.Home) 、Input.GetKey(KeyCode.Menu);

2,暂停事件,Unity3d的

OnApplicationFocus、OnApplicationPause两者结合起来

如:

[AddComponentMenu("WuKk/Public/Game Pause Quit")]

publicclass GamePauseQuit : MonoBehaviour {

public  delegate  void GameQuitDelegate();

public  static  event GameQuitDelegate gameQuitDelegate;

 

public  delegate  void GamePauseDelegate();

public  static  event GamePauseDelegate gamePauseDelegate;

bool isPause=false;

void OnEnable(){

isPause=false;

}

void  Update(){

    if (Input.GetKey(KeyCode.Escape) || Input.GetKey(KeyCode.Home) ||Input.GetKey(KeyCode.Menu))

{

  if(gameQuitDelegate!=null)

gameQuitDelegate();

else 

  Application.Quit();

}

void OnApplicationFocus(){

#if UNITY_IPHONE || UNITY_ANDROID

  isPause=true;

#endif

}

 

void OnApplicationFocus(){

#if UNITY_IPHONE || UNITY_ANDROID

if(isPause)

{

isPause=false;

if(gamePauseDelegate!=null)

gamePauseDelegate();

}

#endif

}

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值