unity 全屏但有窗口_Unity3D跨屏幕、全屏显示方法
Unity3D跨屏幕、全屏显示方法,运行环境:Win10 64bit, Unity3D 2017.3.1
using System;
using System.Collections;
using System.Runtime.InteropServices;
using System.Diagnostics;
using UnityEngine;
using System.Xml.Serialization;
public class WindowMod : MonoBehaviour
{
[HideInInspector]
public Rect screenPosition;
[DllImport("user32.dll")]
static extern IntPtr SetWindowLong(IntPtr hwnd, int _nIndex, int dwNewLong);
[DllImport("user32.dll")]
static extern bool SetWindowPos(IntPtr hWnd, int hWndInsertAfter, int X, int Y, int cx, int cy, uint uFlags);
[DllImport("user32.dll")]
static extern IntPtr GetActiveWindow();
const uint SWP_SHOWWINDOW = 0x0040;
const int GWL_STYLE = -16;
const int WS_BORDER = 1;
private int i = 0;
void Start()
{
SetWindowLong(GetActiveWindow(), GWL_STYLE, WS_BORDER);
SetWindowPos(GetActiveWindow(), -1, (int)screenPosition.x, (int)screenPosition.y, (int)screenPosition.width, (int)screenPosition.height, SWP_SHOWWINDOW);
}
void Update()
{
i++;
if(i<5)
{
SetWindowLong(GetActiveWindow(), GWL_STYLE, WS_BORDER);
SetWindowPos(GetActiveWindow(), -1, (int)screenPosition.x, (int)screenPosition.y, (int)screenPosition.width, (int)screenPosition.height, SWP_SHOWWINDOW);
}
}
}
上面这个脚本,可以使Unity3D窗口全屏,没有标题栏,通过更改screenPosition的值,还可以使窗口直接在第二个屏幕上启动(x=0, y=0, width=1920, height=1080),或者窗口跨越两个屏(x=0, y=0, width=3840, height=1080)。 如果使用读取配置文件的方法, 可以自定义屏幕分辨率。Windows系统会记录软件的窗口大小和位置,并记录在注册表的\HKEY_CURRENT_USER\Software\xxx\yyy 位置,xxx是Unity3D在build设置中的Company Name,yyy是在Build设置中的Product Name。所以如果有时候窗口大小有问题,可以先备份注册表,再删除xxx项。建议每个项目的Product Name不要用默认值,否则打包出来的软件都会对应到注册表里相同的项。
unity 全屏但有窗口_Unity3D跨屏幕、全屏显示方法相关推荐
- windows窗口移动到屏幕外,找回方法
windows窗口移动到屏幕外,找回方法 1.将应用程序切换到激活状态:alt + tab 切换到应用程序 或 鼠标点任务栏(激活状态) 2.alt + 空格键(激活菜单) 3.alt + m (移动 ...
- 计算机关机重启后黑屏,电脑关机后重启屏幕黑屏怎么办
电脑关机后重启屏幕黑屏怎么办?这个问题比较特殊,可能有些网友不太了解,那么下面就由学习啦小编给你们介绍电脑关机后重启屏幕黑屏的原因及解决方法吧,希望能帮到大家哦! 电脑关机后重启屏幕黑屏的解决方法一: ...
- 电脑显示器闪屏_Win7系统电脑显示器屏幕闪屏的解决办法
Win7系统电脑闪屏怎么办?近日一个用户反馈,在使用Win7系统电脑的时候,会出现闪屏的问题,该如何解决呢?请看下文具体解决办法. 解决办法: 1.首先右击桌面空白处,并在右键菜单中,直接选择&quo ...
- Unity中打开文件窗口(OpenFileDialog)的几种方法对比
1 概述 本文链接:http://blog.csdn.net/ithot/article/details/76997237 用Unity以来,一直都没怎么关注过打开对话框去选取本地文件,最近需要用到这 ...
- 苹果X屏黑了-苹果x屏幕黑屏也无法开机怎么回事?
苹果黑屏: 一.iphone本身不稳定的情况会导致黑屏. 这种黑屏可归因于不稳定的自动关机,因为机器的质量不好,导致无故关机. 因为硬件其实没有很大的问题,所以按住开机键等待其开机. 二. DFU模式 ...
- IntelliJ IDEA 外接显示器 分屏后,窗口打不开,不会显示
最近加班特别严重,眼和脖子都累,于是搞了个大的显示器,分屏显示真的爽,但是突然被拉去开了个会,回来后 idea就打不开了,任务栏有图标,就是点不开 经分析发现,并不是不显示,而是显示在了屏幕边缘一个不 ...
- android 11.0 12.0去掉屏幕锁屏(屏幕默认锁屏方式改成无)
1.概述 在11.0 12.0定制化开发中,需求要求去掉屏幕锁屏功能,默认无锁屏功能,所以要去掉系统默认锁屏功能 分两步: 1.1在SettingProvider数据库加载时默认无锁屏 1.2去掉Se ...
- 智慧屏鸿蒙Os好在哪,荣耀智慧屏和电视的区别到底在哪?鸿蒙OS+海思3芯片,真的强...
原标题:荣耀智慧屏和电视的区别到底在哪?鸿蒙OS+海思3芯片,真的强 北京时间8月10日,荣耀智慧屏发布会在东莞篮球中心正式正式召开.华为消费者业务部CEO余承东.荣耀总裁赵明分别登台发言. 余承东表 ...
- Unity打包exe设置全屏和窗口模式切换
using UnityEngine; /// <summary> /// 切换全屏和窗口模式 /// </summary> public class Fullscreen : ...
最新文章
- 协作的力量——2021-2022年度《大数据系统基础》成果展示
- 程序员的求生欲有所强?用 Python 花式哄女友
- CentOS 6 无法上网 问题解决方案[VMware]
- 用keil烧写现成的hex文件
- 《实战突击:PHP项目开发案例整合(第2版)(含DVD光盘1张)》
- vue 离开页面事件_【必看】58 道 Vue 常见面试题集锦,涵盖入门到精通,自测 Vue 掌握程度...
- Nacos client SDK 订阅式请求坑
- try catch异常后会执行后面的代码吗_Java的异常体系
- 台式计算机的速度,USB3.0有多快?平民级最简单测试告诉你
- 深入理解JVM虚拟机1:JVM内存的结构与消失的永久代
- win10手柄测试软件,win10系统如何校准和设置游戏手柄?windows10校准和设置游戏手柄的方法...
- 如何在Tomcat中配置二级域名
- 二十一世纪大学英语读写教程(第二册)学习笔记(原文)——9 - Get Ready for Some Wild Weather(准备应对厄尔尼诺)
- mysql评论回复表设计_数据库设计——评论回复功能
- 例题—html(4)
- Apache日志分割及分析
- 抓包导出的har格式解析
- gentoo USE 项目解释
- 图说三极管的三个工作状态
- php 双向链表,Go实现双向链表