卡一卡2卡3卡精品网站-日本亲与子乱人妻hd-heyzo高清中文字幕在线-岳妇伦丰满69xx

  • 您的位置:首頁 > 新聞動態 > Unity3D

    Unity3D跨屏幕、全屏顯示方法

    2019/12/14??????點擊:

    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不要用默認值,否則打包出來的軟件都會對應到注冊表里相同的項。



    主站蜘蛛池模板: 白沙| 盐边县| 库伦旗| 潮州市| 淮滨县| 承德市| 余庆县| 绩溪县| 和林格尔县| 桦甸市| 林西县| 德惠市| 宝鸡市| 双鸭山市| 获嘉县| 万盛区| 高雄市| 陵川县| 曲沃县| 汉沽区| 深泽县| 平顺县| 阿合奇县| 改则县| 华安县| 邢台市| 鲜城| 清苑县| 孝感市| 合肥市| 介休市| 新乡县| 嘉鱼县| 光泽县| 叙永县| 敦化市| 民勤县| 桦甸市| 合山市| 环江| 泉州市|