Unity3D游戏启动分辨率界面

good_lalala 2016-11-11 02:32:20
Unity3D游戏导出来的exe文件怎么打开让他直接显示,而不是先显示分辨率选择界面?

exe文件是已经生成了的,所以不用考虑在unity里面去掉分辨率窗口。

有几家的VR头盔都有直接在exe文件上面右键,右键菜单有在头盔里面运行,
选择后游戏可以直接显示而不用弹出分辨率选择界面。
...全文
3693 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
good_lalala 2016-12-27
  • 打赏
  • 举报
回复
不知道还有什么更好的办法
good_lalala 2016-12-27
  • 打赏
  • 举报
回复
引用 6 楼 zq1564171310 的回复:
程序我都自己测过了,可以调用,但是还有n多异常没有处理,你自己看着办了。
不知道没有什么更好的办法
zq1564171310 2016-11-23
  • 打赏
  • 举报
回复
程序我都自己测过了,可以调用,但是还有n多异常没有处理,你自己看着办了。
zq1564171310 2016-11-23
  • 打赏
  • 举报
回复
如果你想装b一点,可以用C#调用外部程序,然后模拟点击play按钮

System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading;
using System.Windows.Forms;

namespace Test20161123
{
    class Program
    {
        [DllImport("user32.dll", EntryPoint = "FindWindow", CharSet = CharSet.Auto)]
        static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
        [DllImport("user32.dll", EntryPoint = "FindWindowEx", CharSet = CharSet.Auto)]
        extern static IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);
        [DllImport("User32.dll", EntryPoint = "SendMessage")]
        private static extern int SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, string lParam);

        [DllImport("user32.dll", EntryPoint = "PostMessage", CallingConvention = CallingConvention.Winapi)]
        static extern bool PostMessage(IntPtr hwnd, int msg, uint wParam, uint lParam);


        [STAThread]
        static void Main(string[] args)
        {
            string path = "C:/xxx.exe(应用程序路径)";
            Process p = Process.Start(path);
            if (p == null)
            {
                MessageBox.Show("路径不能为空!");
            }
            IntPtr mainWindows = FindMainWindowHandle("xxx(你的应用程序窗体)", 100, 25);
            Console.WriteLine("Handle to main window is " + mainWindows);

            //有名字控件句柄
            IntPtr butt = FindWindowEx(mainWindows, IntPtr.Zero, "Button", "Play!");//这里找play按钮
            if (butt == IntPtr.Zero)
            {
                MessageBox.Show("没找到Play按钮!");
            }

            SendMessage(butt, 0xF5, butt, null); //给win发送点击按钮消息
        }

        //通过索引查找相应控件句柄
        static IntPtr FindWindowByIndex(IntPtr hwndParent, int index)
        {
            if (index == 0)
            {
                return hwndParent;
            }
            else
            {
                int ct = 0;
                IntPtr result = IntPtr.Zero;
                do
                {
                    result = FindWindowEx(hwndParent, result, null, null);
                    if (result != IntPtr.Zero)
                    {
                        ++ct;
                    }
                } while (ct < index && result != IntPtr.Zero);
                return result;
            }
        }

        //获得待测程序主窗体句柄
        private static IntPtr FindMainWindowHandle(string caption, int delay, int maxTries)
        {
            IntPtr mwh = IntPtr.Zero;
            bool formFound = false;
            int attempts = 0;
            while (!formFound && attempts < maxTries)
            {
                if (mwh == IntPtr.Zero)
                {
                    Thread.Sleep(delay);
                    ++attempts;
                    mwh = FindWindow(null, caption);
                }
                else
                {
                    Console.WriteLine("主窗体没找到");
                    formFound = true;
                }
            }

            if (mwh == IntPtr.Zero)
                throw new Exception("主窗体没找到");
            else
                return mwh;
        }
    }
}

zq1564171310 2016-11-23
  • 打赏
  • 举报
回复
好像批处理可以

Dim Shell 
Set Shell=WScript.CreateObject("WScript.Shell") 
Shell.Run "C:/1.exe(这里是你的exe的路径)"  
WScript.Sleep 1000 
Shell.SendKeys "{ENTER}"
保存到1.vbs中,运行1.vbs试试,如果觉得直接暴露vbs不爽,可以用unity写个demo封装下
good_lalala 2016-11-21
  • 打赏
  • 举报
回复
引用 1 楼 zq1564171310 的回复:
resolution 是选分辨率和屏幕大小 display resolution 选disable你选的分辨率和屏幕大小才起作用,才能禁止掉选分辨率的那一步
Unity里面去掉知道 就是别人做好的unity游戏打开老是有分辨率窗口,想知道有没有办法加启动参数或者用配置文件去掉
zq1564171310 2016-11-11
  • 打赏
  • 举报
回复
至于在VR里面,似乎我没听过怎么去掉,有的话同问
zq1564171310 2016-11-11
  • 打赏
  • 举报
回复
resolution 是选分辨率和屏幕大小 display resolution 选disable你选的分辨率和屏幕大小才起作用,才能禁止掉选分辨率的那一步
unity贪吃蛇游戏源码+AI-游戏源码: 1.利用ngui插件对界面进行了仿写 在仿写界面途中发现,贪吃蛇这个游戏界面适应屏幕分辨率,所以在开发中需要注意界面对屏幕的适应性。通过每个图片的宽高 和uiroot的比值,在start方法中对他进行了缩放。 2.利用 ngui 自带的uidragdropItem实现摇杆 界面完成之后,首先对贪吃蛇的摇杆进行了编程。 在unity中的NGUI上,给sprite创建添加一个uidragdropitem 实现了sprite的拖动。 AI的开始,移动逻辑: 整体只考虑三个前景: 1.首先先判断蛇首的简介范围是否有其他蛇死亡了留下的食物,如果有的话设置当前朝向为星星方向,便设置移动倍率为2,否则判断第三种情况; 3.随机朝某个位置移动。如果每帧AI都在更新的话,蛇的反映速度依然会更快,需要设置一下AI的更新间隔,通过调整这个间隔和蛇首的简介方位来调整AI的反映速度,目的是能够让玩家有机会撞死AI。 AI 移动的方向分析: AI在一个平面上运动,坐标就只有两个 把他用0和1表示为: ----- 4个方向 上下左右 (0,0) (0,1) (0,-1) (-1,0) (1,0) 四个角度 象限。 (-1,1) (1,1) (-1,-1) (1,-1) 设计思路就是把AI蛇也当作是用摇杆来控制的。那么AI就方便写多了,只是 在还没开始写之前,要考虑的就是AI蛇多了之后程序会不会卡死了。在使用线程控制的过程中发现了一个问题,cup利用率太高。所以想先尝试一下在update上操作。如果不行的在想其他的办法。 设计: 把每个AI蛇都相当于人在控制他。那么想象一下虚拟摇杆,用一个数组来存这些虚拟摇杆的位移坐标 把每条AI蛇的长度也记录下来,默认长度就20 错误: NullReferenceException: Object reference not set to an instance of an object AI6control.flootAIOneBody6 (Vector3 V) (at Assets/AI6control.cs:57) AI6control.AIsix () (at Assets/AI6control.cs:40) AI6control.Update () (at Assets/AI6control.cs:13) 该错误在百度上说:没有实例化的问题 最后一个下午的代码调试 发现由于自己的粗心 导致了把<符号写成了<=符号 就因为这个问题,让贪吃蛇变成了 卡神,害我看了好几天,现在解决了,贪吃蛇也变流畅了好多. Ai蛇也需要吃食物。长大,在游戏启动的时候就让Ai蛇在地图中吃食物,成长,当用户进入游戏的时候AI蛇已经吃到了一定的食物。测试了AI蛇确实发现他能吃食物。死后的处理也处理了。 在AI蛇吃食物的时候 ,地图中食物太多,控件太多。没法知道他是什么时候,查了资料说是要遍历地图中的对象,测试了一下,发现对象太多,程序卡得不要不要的,只能用触发器,避免遍历食物让程序运行不流畅或者变得死机等情况。 这样的话 在游戏中运行10-20条蛇是没有问题的。 地图中有10个点,这10个点是用来AI蛇死后复活的地方。 增加了限定时间模式. 经过很多的测试,也发现了很多的bug 不过都基本改完了,现在暂时没有发现bug
DoozyUI 是一个原生 Unity 编辑器的扩展工具,可简化专业用户界面的管理和动画绘制 - 无需编程知识。DoozyUI 方便初学者并可扩展,适合从业余开发者到专业软件和游戏工作室之间所有阶段的人员使用。 UI 的管理和动画绘制曾经只有经验丰富的开发者才会做。多亏了 DoozyUI,现在任何人都能创建自己的原生 Unity UI。无论你的能力到哪,DoozyUI 的强大编辑器都能给予你充分的创意掌控 - 连一条代码都不需要写。而且,如果你喜欢编程的话,随时找到一个专业API (Application Programming Interface) 就可下手。 随着众多视频教程可用,你很快就能自己创建第一个 UI。开始创造并把你的点子带到世界! 自从 2015 年以来我们一直都在开发这个系统,当它第一次在 Unity 资源商店上发布时,我们有许多对于前景的展望和计划。创作此产品时,倾注了很多思考、工作和热爱,我们非常希望你能喜欢它。 功能特色 - 使用原生 uGUI - 容易学。直观设计 - 原生编辑器集成 - 节点图 UI 导航流程 - 主题管理系统 - 自动音源汇集 - 触摸感应器 - 方向感应器 - 支持所有平台 - 独立解像 - 支持移动设备 - 编辑器内文档链接 - 可搜索文档 - 视频教程 - 专门团队支持 - 整洁代码。容易理解、修改和测试。 - 提供了完整的 C#源代码 :: 快速设置 - 设置起来快捷方便,一接上就能播放。直观的控制界面意味着快捷的调控和优化的工作流程,以便你有更多时间来做重要的事情。 :: 主题管理器- 利用自动主题/皮肤管理系统改变应用/游戏的外观 :: 独立解像 - UI Animator 计算所有的分辨率和高宽比值并相应地调整动画。因此所有的动画在横向和纵向模式都感觉看起来一样。 :: 进度条 - 是的!创建你想象中任何一种进度指示器,并将它动画绘制,而且不需要代码就可以控制它。 :: 节省时间 - 把你的动画保存起来并将它们加载到其他项目。(资源文件) :: 有趣 - 在播放模式中创建各种动画,并将它们保存到任何项目中。(通过 DoozyUI) :: 简单 - 不需要代码通过 WYSIWYG 途径就能创建直观的菜单。 :: 全方位操控 - 细调所有动画设置,从定时到延迟和简便功能。 组件 - 返回按钮 - 色彩目标图像 - 色彩目标 ParticleSystem - 色彩目标原始图像 - 色彩目标 SpriteRenderer - 色彩目标文本 - 色彩目标 TextMeshPro - 字体目标文本 - 字体目标 TextMeshPro - 游戏事件监听器 - 游戏事件管理器 - 手势监听器 - 图形控制器 - 行动键 - 游戏事件键 - 方向感应器 - 进展目标行动 - 进展目标动画器 - 进展目标混音器 - 进展目标图像 - 进展目标文本 - 进展目标 TextMeshPro - 进展器 - 进展器组 - 径向布局 - 场景指导器 - 场景加载器 - Soundy 控制器 - Soundy 管理器 - Soundy 汇集器 - Sprite 目标图像 - Sprite 目标 SpriteRenderer - 纹理目标原始图像 - 主题管理器 - 触摸感应器 - UI 按钮 - UI 按钮监听器 - UI 画布 - UI 绘画器 - UI 绘画器监听器 - UI 弹出功能 - UI 弹出功能管理器 - UI 切换 - UI 视角 - UI 视角监听器 ------ NODY - 一个节点图像引擎,从可连成图像的模块节点组件上构建而成。作为系统的一个重要部分,Nody 是专门设计用来创作、视觉化和 UI 导航流程的管理。 - 图形控制器 - 图形/子图形 节点 - UI 节点 - 游戏事件节点 - 声音节点 - 子图形节点 - 主题节点 - 后退按钮节点 - 门户节点 - 切回节点 - UI 绘画器节点 - 启动已载入场景节点 - 加载场景节点 - 卸载场景节点 - 程序退出节点 - 随机节点 - 时间标度节点 - 等待节点 - 开始节点 - 进入节点 - 退出节点 ------ SOUNDY - 一个能与 DoozyUI 并肩使用的复杂音效管理系统。它能从自己的声音数据库里播放音效,也能直接引用 AudioClip,或通过 MasterAudio(第三方插件)播放。它还设有一个自动化音效检测系统,无需任何外部管理。 - Soundy 管理器 - Soundy 汇集器 - Soundy 控制器 ------ TOUCHY - 一个附带 DoozyUI 的触摸感应系统。捕捉来自 Unity 原生输入解析的触击(和点击)并将其一些额外信息一起传递到系统中。 - 触摸感应器 - 手势监听器 ------ 集成 - Playmaker - MasterAudio - TextMeshPro ------ 重要 DoozyUI 第 3 版与第 2 版不兼容。它们看起来也许很相似,但是代码库大不相同。基本上第 3 版是受第 2 版启发的一款全新的软件。因此它们之间无法兼容。 要求 在安装 DoozyUI 之前需要先安装 DOTween 并执行初始设置。 DOTween 的最低版本要求是 v1.2.235 DOTween 下载链接: https://assetstore.unity.com/packages/tools/animation/dotween-hotween-v2-27676 准备就绪 在导入 DoozyUI 后,它将执行初始设置,然后就可以开始使用。 DoozyUI 的控制面板能从 Tools>Doozy>Control Panel(或使用 Alt+D 快捷键)打开。 DoozyUI 的 Nody 窗口能从 Tools>Doozy>Nody 中打开

2,543

社区成员

发帖
与我相关
我的任务
社区描述
Unity3D相关内容讨论专区
游戏unity 技术论坛(原bbs)
社区管理员
  • Unity3D
  • 芝麻粒儿
  • 「已注销」
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

Unity3D社区公告:

  1. 社区致力于解决各种Unity3D相关的“疑难杂症”。
  2. 社区不允许发布与Unity3D或相关技术无关内容。
  3. 社区版主邀请各位一道为打造优秀社区不懈努力。

试试用AI创作助手写篇文章吧