当前位置: 首页 > news >正文

做网站时数据库要创建几个表长春网站推广

做网站时数据库要创建几个表,长春网站推广,网站被做跳转,鹤壁市住房和城乡建设局网站开发环境: Unity2019.3.16f1c1 - 个人版 Visual Studio Community 2019 Windows10 专业版 x64嘿,各位朋友们!当咱们欢欢喜喜地把项目打包成PC平台的exe窗口程序,准备在电脑上一展游戏风采时,却发现冒出来个Windows风格…

开发环境:
Unity2019.3.16f1c1 - 个人版
Visual Studio Community 2019
Windows10 专业版 x64

嘿,各位朋友们!当咱们欢欢喜喜地把项目打包成PC平台的exe窗口程序,准备在电脑上一展游戏风采时,却发现冒出来个Windows风格的白条标题栏,就像一个不速之客闯进了咱们精心布置的游戏派对,和游戏那炫酷风格完全不搭调,这多闹心呐!

别慌,咱有办法把这位“不速之客”请出去,再给它换个符合游戏气质的“酷炫外衣”——隐藏默认标题栏,然后自定义一个超有个性的游戏风格标题栏。这操作就像给游戏窗口变个小魔术,关键就在于调用Windows API函数里的“两大高手”SetWindowLongGetWindowLong,再拉上WS_CAPTION样式标志来帮忙。下面咱就来看看这场“魔术秀”的具体步骤:

创建C#脚本:在Unity项目里新建一个C#脚本,给它起个响亮的名字,就叫WindowStyle。然后别忘了在脚本开头把System.Runtime.InteropServices这个“魔法宝库”的命名空间引进来,这样咱就能召唤出Windows API函数来施展魔法啦。

using System;
using UnityEngine;
using UnityEngine.UI;
using System.Runtime.InteropServices;public class WindowsStyle : MonoBehaviour
{}

声明Windows API函数:在脚本里,像念咒语一样,把GetWindowLongSetWindowLong还有GetForegroundWindow这些Windows API函数都声明出来,它们可是这场“魔术”的关键道具。

[DllImport("user32.dll")]
public static extern IntPtr GetForegroundWindow();[DllImport("user32.dll")]
public static extern bool ShowWindow(IntPtr hwd, int cmdShow);[DllImport("user32.dll")]
public static extern long GetWindowLong(IntPtr hwd, int nIndex);[DllImport("user32.dll")]
public static extern void SetWindowLong(IntPtr hwd, int nIndex, long dwNewLong);

定义窗口样式常量:接下来,要定义一些能修改窗口样式的“魔法密码”,像GWL_STYLE(它掌控着窗口样式)、WS_CAPTION(专门和标题栏样式打交道)这些,有了它们,咱就能轻松改变窗口的“模样”啦。

/// <summary>
/// 最小化窗口,并激活顶部窗口
/// </summary>
private const int SW_MINIMIZED = 6;/// <summary>
/// 最大化窗口
/// </summary>
private const int SW_MAXIMIZED = 3;/// <summary>
/// 恢复窗口到正常状态(非最小化/最大化)
/// </summary>
private const int SW_RESTORE = 9;/// <summary>
/// 窗口风格
/// </summary>
private const int GWL_STYLE = -16;/// <summary>
/// 标题栏
/// </summary>
private const int WS_CAPTION = 0x00c00000;

编写标题栏处理方法:在脚本里大笔一挥,写个专门的方法。这个方法就像一个神奇的魔法棒,通过调用前面召唤出来的Windows API函数,就能把默认标题栏藏起来。而且,它还能让窗口实现最大化、还原、关闭这些功能,就像给窗口装上了各种“超能力按钮”(不过咱这次就先介绍怎么让方法有这些本事,不搞那些花里胡哨的美术效果啦,就用几个原生Button来假装是标题栏的按钮,凑合凑合先)。

挂载脚本:把写好的这个“魔法脚本”像挂勋章一样,挂到场景里的任意一个对象上,比如主摄像机,让它跟着对象一起在游戏的舞台上发光发热。

打包并测试:最后一步,把挂好脚本的Unity项目打包成exe文件,就像把魔法封印进一个小盒子里。然后打开这个“魔法盒子”,看看隐藏标题栏的效果是不是像咱期待的那样,让游戏窗口变得又酷又炫!

去标题栏前:

去标题栏后:

怎么样,是不是感觉给游戏窗口变个“魔术”也没那么难啦?赶紧动手试试,让你的游戏窗口也来一场华丽的变身吧!

这里是完整代码:

using System;
using UnityEngine;
using UnityEngine.UI;
using System.Runtime.InteropServices;public class WindowsStyle : MonoBehaviour
{[DllImport("user32.dll")]public static extern IntPtr GetForegroundWindow();[DllImport("user32.dll")]public static extern bool ShowWindow(IntPtr hwd, int cmdShow);[DllImport("user32.dll")]public static extern long GetWindowLong(IntPtr hwd, int nIndex);[DllImport("user32.dll")]public static extern void SetWindowLong(IntPtr hwd, int nIndex, long dwNewLong);/// <summary>/// 最小化窗口,并激活顶部窗口/// </summary>private const int SW_MINIMIZED = 6;/// <summary>/// 最大化窗口/// </summary>private const int SW_MAXIMIZED = 3;/// <summary>/// 恢复窗口到正常状态(非最小化/最大化)/// </summary>private const int SW_RESTORE = 9;/// <summary>/// 窗口风格/// </summary>private const int GWL_STYLE = -16;/// <summary>/// 标题栏/// </summary>private const int WS_CAPTION = 0x00c00000;private Button btn_hide_bar;private Button btn_show_bar;private Button btn_minimized;private Button btn_maximized;private Button btn_restore;private Button btn_close;private void Awake(){btn_hide_bar = transform.Find("btn_hide_bar").GetComponent<Button>();btn_show_bar = transform.Find("btn_show_bar").GetComponent<Button>();btn_minimized = transform.Find("btn_minimized").GetComponent<Button>();btn_maximized = transform.Find("btn_maximized").GetComponent<Button>();btn_restore = transform.Find("btn_restore").GetComponent<Button>();btn_close = transform.Find("btn_close").GetComponent<Button>();}private void Start(){btn_hide_bar.onClick.AddListener(() => HideTitleBar());btn_show_bar.onClick.AddListener(() => ShowTitleBar());btn_minimized.onClick.AddListener(() => Minimize());btn_maximized.onClick.AddListener(() => Maximize());btn_restore.onClick.AddListener(() => Restore());btn_close.onClick.AddListener(() => Close());}/// <summary>/// 隐藏标题栏/// </summary>private void HideTitleBar(){var hwd = GetForegroundWindow();var wl = GetWindowLong(hwd, GWL_STYLE);wl &= ~WS_CAPTION;SetWindowLong(hwd, GWL_STYLE, wl);}/// <summary>/// 显示标题栏/// </summary>    private void ShowTitleBar(){var hwd = GetForegroundWindow();var wl = GetWindowLong(hwd, GWL_STYLE);wl |= WS_CAPTION;SetWindowLong(hwd, GWL_STYLE, wl);}/// <summary>/// 最小化/// </summary>private void Minimize(){var hwd = GetForegroundWindow();ShowWindow(hwd, SW_MINIMIZED);}/// <summary>/// 最大化/// </summary>private void Maximize(){var hwd = GetForegroundWindow();ShowWindow(hwd, SW_MAXIMIZED);}/// <summary>/// 还原/// </summary>private void Restore(){var hwd = GetForegroundWindow();ShowWindow(hwd, SW_RESTORE);}/// <summary>/// 关闭/// </summary>    private void Close(){Application.Quit();}
}

http://www.dtcms.com/a/537897.html

相关文章:

  • 如何快速将普通电脑改造为深度学习工作站
  • 教育考试类网站建设中国新闻社领导名单
  • iis访问网站打开要很久吉安网站建设收费
  • 【Python】Python字符串格式化
  • Kotlin 高级语法复习:sealed class、Flow、inline、crossinline等分析,使用实例
  • 怎么做wood网站教程长沙企业网站
  • 顺德网站制作案例机构天津seo优化公司哪家好
  • 力扣-移动零
  • 如何通过7种简单方法将小米手机数据传输到电脑
  • wap网站编辑器英文版网站建站要求
  • 网站设计和策划的步骤是什么东莞公司网站建设教程
  • 数学分析简明教程课后习题详解——1.1
  • Linux下编译lib-artnet-4-cpp
  • 哪些网站适合做外贸网站推广apm安装wordpress网页无法访问
  • 网站建设所有软件清单苏州制作手机网站
  • 免费的舆情网站不需下载有没有免费的网站推销产品
  • 搭建网站商城去哪个网站可以做写手
  • 【Python刷力扣hot100】42. Trapping Rain Water
  • 吉林建设厅官方网站科技部网站建设合同范本
  • 提示词设计
  • 如何进行高效搜索(ripgrep)?
  • 项目网络网站优化协议
  • 长沙需要做网站的企业浙江省建设信息港网
  • 2025残保金申报进入最后“窗口期”!各地征收截止日期明确,逾期后果很严重
  • 德州手机网站建设做代销的网站
  • 怎么用新浪云做网站在建设银行网站上买卖贵金属
  • uni-app Google登录
  • Linux进程:进程地址空间(一)
  • 详解 TCP 通信中的序列化与反序列化:从登录场景谈起
  • 注册会计师协会成都网站搜索排名优化哪家好