Unity - 使用Winform制作简易登录器

Unity - 使用Winform制作简易登录器


Resolution Dialog

PC、Mac环境下,Unity提供了一个简易的设置分辨率、图形性能的对话框,叫Resolution Dialog,除此之外还可以设置输入按键。

Resolution Dialog的简单实现

Resolution Dialog实际上用了启动参数CommandLineArguments实现分辨率、图形性能的设置,启动参数是Unity提供的一个功能:https://docs.unity3d.com/Manual/CommandLineArguments.html。 设置启动参数可以在游戏启动时就应用某些效果,而不是在游戏运行中。 我们可以直接这样用:cmd: xxxx\player.exe -argument ,就可以实现设置启动分辨率。
Unity - 使用Winform制作简易登录器_第1张图片

在Mac环境下可以改变Resolution Dialog的布局(功能无法更改),在PC环境下无法做出任何修改,如果要换一个好的样式或者加一些功能的话根本做不到,所以Unity提供的Resolution Dialog挺鸡肋的。但是实际上很多网游都有功能类似但是更强大的登录器,提供比如账号登录、游戏更新、游戏设置的功能。对于Unity程序员用Winform实现登录器正合适不过了,在此只用Winform实现跟Resolution Dialog设置分辨率的功能。

Resolution Dialog的Winform实现

Winform界面:
Unity - 使用Winform制作简易登录器_第2张图片
Winform代码:

	    // 默认显示第一个
        private void Form1_Load(object sender, EventArgs e)
        {
            this.ComboBox.SelectedIndex = 0;
        }

        private void Button_Click(object sender, EventArgs e)
        {
            string path = string.Format(@"{0}\player.exe", System.Environment.CurrentDirectory);
            if (File.Exists(path))
            {
                string[] resolutions = this.ComboBox.SelectedItem.ToString().Split('x');
                // 启动参数
                Process.Start(path, string.Format(@"-screen-width {0} -screen-height {1}", resolutions[0], resolutions[1]));
                // 退出Winform
                System.Environment.Exit(0);
            }
        }

Unity代码:

    string CommandLine = string.Empty;
    private void Start()
    {
        string[] arguments = Environment.GetCommandLineArgs();
        for (int i = 0; i < arguments.Length; i++)
        {
            CommandLine += string.Format("{0};", arguments[i]);
        }
    }

    private void OnGUI()
    {
        GUI.Label(new Rect(10, 10, 500, 150), string.Format("CommandLine: {0}", CommandLine));
        GUI.Label(new Rect(10, 60, 200, 50), string.Format("Resolution: {0} * {1}", Screen.width.ToString(), Screen.height.ToString()));
    }

生成的Winform程序放到Unity打包目录(和exe文件一个目录)下,关闭Resolution Dialog显示,启动Winform程序点击Play。结果:
Unity - 使用Winform制作简易登录器_第3张图片

你可能感兴趣的:(Unity,Script)