首页 >Unity3D频道 >【Unity杂文】 > Unity3D研究院之监听平台切换完毕的事件
2014
10-10

Unity3D研究院之监听平台切换完毕的事件

今天有同事问我能不能获取平台切完换的事件,他想当平台切到Android或者切到IOS的时候用脚本在做一些事情。

代码实现起来很简单。EditorUserBuildSettings.SwitchActiveBuildTarget可以用脚本来切换平台。。EditorUserBuildSettings.activeBuildTargetChanged 可以监听平台切换的事件。

	[MenuItem("Tools/ActiveBuildTarget", false, 1)]
	static public void ActiveBuildTarget()
	{
		EditorUserBuildSettings.activeBuildTargetChanged = delegate() {
			if(EditorUserBuildSettings.activeBuildTarget == BuildTarget.Android){
				Debug.Log("DoSomeThings");
			}
		};
		EditorUserBuildSettings.SwitchActiveBuildTarget(BuildTarget.Android);
	}

如果你不想用脚本来切换平台,就想在Unity的Build Settings界面切换平台,那么可以这样。

using UnityEngine;
using UnityEditor;
 
[InitializeOnLoad]
public class Example
{
    static Example() {
        EditorUserBuildSettings.activeBuildTargetChanged += OnChangePlatform;
    }
    static void OnChangePlatform() {
        Debug.Log("Has Pro Licence : " + Application.HasProLicense());
        Debug.Log("Platform : " + EditorUserBuildSettings.activeBuildTarget);
    }
}

参考:http://narudesign.com/devlog/unity-editor-hook-switch-platform/

Snip20141010_1

最后编辑:
作者:雨松MOMO
专注移动互联网,Unity3D游戏开发
捐 赠写博客不易,如果您想请我喝一杯星巴克的话?就进来看吧!

Unity3D研究院之监听平台切换完毕的事件》有 18 条评论

  1. 清水77说:

    如何知道平台切换完成或刚改变了代码之后,代码编译什么时候完成呢?因为我想在编辑器工具中用反射取到最新的LibraryScriptAssembliesAssembly-CSharp.dll中的类型信息,必须等编译完成,不然得到的是老的dll信息

  2. 如何监听场景打开的事件呢

  3. 。。说:

    你参与过的项目服务器用java的占多大比例?用c 占多大比例?有没有用c#的?其他语言框架有用到吗?

  4. 。。说:

    你参与过的项目服务器用java的占多大比例?用c++占多大比例?有没有用c#的?其他语言框架有用到吗?

  5. 。。说:

    你好,请问一般游戏服务器用什么语言比较好?如何搭建?

  6. OOIII说:

    momo…tx2d.setpixels(color[]) color[]的尺寸必须和tx2d一样么??如果不一样要怎么处理呢

  7. c6u2说:

    哦,绑了个委托啊。。不错的说

  8. Francis说:

    momo,我想问一个问题:NGUI里面的scroll view,如果我有100条数据,就很卡了,该怎么优化好呢?

留下一个回复

你的email不会被公开。 必填项已用 * 标注。