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 ,就可以实现设置启动分辨率。

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

Resolution Dialog的Winform实现

Winform界面:

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]));// 退出WinformSystem.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制作简易登录器相关推荐

  1. unity制作简易播放器

    unity制作简易播放器 先上效果图 我采用的解决方案是unity内置的video player,通过UGUI-rawimage进行显示,当然也可以使用quad方式,会更简单点. 1.界面搭建 首先需 ...

  2. winform制作音乐播放器

    winform制作音乐播放器 本文利用C# 调用Windows自带的Windows Media Player 打造一款属于自己的音乐播放器,以供学习分享使用,如有不足之处,还请指正. 概述 Windo ...

  3. 用Python制作简易播放器(电子钢琴) mac系统

    用Python制作简易播放器(电子钢琴) 开发环境:Python3.7 Mac OS 思路: 先根据需要设计GUI的样式,并思考需要定义什么功能 把功能写出来 把功能填入GUI之中 用曲子测试完整的程 ...

  4. Winform制作简易串口通信助手的相关问题及解决方案

    目录 项目背景 1.设计流程 1.1 使用VS.NET提供的可视化构造器创建UI界面 1.2 创建按钮的_Click触发事件 2.所遇问题 3.解决方案 第一次写博客,想分享一个大佬说过的话:程序员很 ...

  5. 易语言做mysql登录器_易语言制作数据库登录器 易语言数据库教程

    易语言做的登陆器怎样利用数据库验证密码是否正确? 你这么写当然是错误的.因为你用查找功能.只要数据库里有这个结果就返回真.搜索的是全部的记录,如果密码N个人是123456,那么只要用户名对密码肯定是正 ...

  6. 基于MFC的简易登录器

    一.项目创建 1.打开vs,并且创建一个新的项目(这里编者选择了使用vs2019) 2.这里选择MFC应用(如果这里没有MFC应用的话,请继续往下看,有解决方法) 3.配置完新项目后,会跳出配置&qu ...

  7. C# winform制作文件分类管理器gui

    期末数据结构大作业 程序主要分为以下六大功能: 一.创建及输出目录树: 通过创建树结构体,用顺序表或是链表来实现树的创建,获取需要进行分类的文件夹,先创建一棵空树,然后通过findfirstfile函 ...

  8. IDEA制作简易登录界面

    用户登录界面 新建project ctrl+shift+alt+s弹出Project Structure 在web-WEB-INF下New Folder两个文件夹classes,lib 设置输入输出p ...

  9. HTML制作简易登录页面(网易笔记)

    <!DOCTYPE html> <html><head><meta charset="UTF-8"><title>网易邮 ...

最新文章

  1. Alexa偷录私密对话并发送,继诡笑之后出现又一神举动
  2. Asp.net基础概念之 HttpModule
  3. 使用CSS3各个属性实现小人的动画
  4. 读书笔记 |《推荐系统实践》- 个性化推荐系统总结
  5. java-多线程操作全(Thread)-Timer简单使用
  6. 关于码云的一些基本知识_一些关于 CPU 的基本知识
  7. C#:DataTable判断是否存在某列
  8. 在mysql怎样查询地址和电话_手机号码怎么查找位置
  9. C++沉思录中文版pdf
  10. 中国最顶级的一批程序员,从首富到首负!
  11. 蛋疼菊紧的Outlook 2013
  12. 计算机内存怎样清理,怎么样清理电脑内存 电脑清理内存方法【图文】
  13. 佐治亚大学计算机工程本科课程,美国大学本科专业排名:计算机工程.docx
  14. 用Cool Edit Pro 2.1做铃声渐入的效果
  15. 前端页面 原生php+H5 视频播放一 专辑列表页(专辑页list)
  16. 吐故“钠”新,看钠离子电池如何引导行业新风向
  17. shell之系统命令基础
  18. 学习笔记之抽取和内插
  19. Nwafu-OJ-1411 Problem J C语言实习题二——5.按从大到小排序三个数
  20. 一万小时真的能成为专家吗?

热门文章

  1. 加装机械硬盘后如何给磁盘分区
  2. 玩出新花样—文言文编程
  3. 如何测linux传输文件的速度,如何测试linux服务器的上传下载速度
  4. linux修改文件图标,Gnome怎么修改应用图标icon
  5. 图灵机器人接口实现自动回复(web版)
  6. Windows 下编译 EXE 文件时把一个外部 txt 文件编译到 EXE 里面
  7. requests-html 爬虫新库
  8. android app 内嵌h5小游戏
  9. Android开发添加QQ群 跳到QQ聊天页面
  10. 数值分析12 - Hermite埃尔米特插值法(要求高阶插值误差足够小)