Unity无边框PC 包

这篇博客介绍了如何使用C#的DllImport特性调用Windows API,将Unity游戏窗口设置为无边框模式。通过指定窗口风格、位置和大小,实现了自定义窗口的显示效果。主要涉及的技术包括Unity、C#编程和Windows API交互。
摘要由CSDN通过智能技术生成

Unity无边框PC 包


	[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 SetWindowLong(IntPtr hwnd, int _nIndex, int dwNewLong);
    [DllImport("user32.dll")]
     static extern bool ShowWindow(IntPtr hwnd, int nCmdShow);
    [DllImport("user32.dll")]
     static extern IntPtr GetForegroundWindow();
    [DllImport("User32.dll")]
     static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
	//无边窗口 
    private int winWidth;// 窗口宽度   
    private int winHeight;// 窗口高度   
    private int winPosX;// 窗口左上角x   
    private int winPosY;// 窗口左上角y
    const int GWL_STYLE = -16;
    const int SW_SHOWMINIMIZED = 2; //{最小化, 激活}
    const int WS_POPUP = 0x800000;
    const uint SWP_SHOWWINDOW = 0x0040;


	IEnumerator WindowWithoutFrame()
    {//默认分辨率无边框显示(可以自由根据winWidth和winHeight的值调整无边框的分辨率)
        winWidth = 960;
        winHeight = 540;
        //显示器支持的所有分辨率  
        int i = Screen.resolutions.Length;
        int resWidth = Screen.resolutions[i - 1].width;
        int resHeight = Screen.resolutions[i - 1].height;
        winPosX = resWidth / 2 - winWidth / 2;
        winPosY = resHeight / 2 - winHeight / 2;
        IntPtr hwnd = FindWindow(null, "WindowName");
        yield return new WaitForSeconds(0.1f);
         SetWindowLong(hwnd, GWL_STYLE, WS_POPUP);
        bool result =  SetWindowPos(hwnd, 0, winPosX, winPosY, winWidth, winHeight, SWP_SHOWWINDOW);
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity PC固定比例调整是指将一个Unity游戏的PC版本打成固定比例进行调整和适配的过程。在开发过程中,我们通常会使用Unity游戏引擎来创建游戏,并在不同的平台上发布。由于PC的屏幕尺寸和分辨率五花八门,为了让游戏能够适应不同的设备,我们需要进行调整。 在进行Unity PC固定比例调整时,我们需要根据目标平台的特性和要求来确定适配方案。首先,我们可以选择如何调整游戏的分辨率。根据设备的屏幕尺寸和分辨率,我们可以选择拉伸、缩放或者填充等方式来调整游戏画面。这样可以保证游戏在不同的设备上都能够正常显示,避免画面变形或者失真。 其次,还需要考虑游戏UI的适配。PC固定比例调整也括对游戏UI界面的适配。例如,我们可以根据设备的屏幕尺寸和分辨率来调整UI元素的大小和位置。这样能够确保游戏UI在不同的设备上显示合理,用户可以方便地进行操作和交互。 最后,还需要确保游戏的性能良好。不同的PC设备性能各异,为了让游戏在各种设备上都能够正常运行,我们需要进行性能优化。这括对游戏资源的压缩和优化,以及对游戏逻辑的优化,以提高游戏的运行效率和流畅度。 总之,Unity PC固定比例调整是为了让游戏能够适应不同PC设备的屏幕尺寸和分辨率而进行的调整和适配过程。通过调整分辨率、UI适配和性能优化等方式,可以确保游戏在不同设备上都能够正常显示和运行,提供良好的游戏体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值