给Unity3d添加一个漂亮的标题栏
我们在做好一个小Unity3d APP,我们一般都会兴致勃勃的导出一个exe,尝试着玩我们的app。感觉还不错,有板有眼的了。然而事与愿违,我们APP里面的内容挺漂亮的,但是它的标题栏是windows自带的样式感觉很不匹配啊。
或者我们想在标题栏加个设置的按钮呢?
好吧,那我们来想想可不可以通过重绘这个标题栏以使它和我们的内容比较匹配以达到美化的效果。
首先我我个人觉得重绘u3d的标题栏意义不是很大。一,U3d的app我们更多是在移动设配上运行的;二,重绘了u3d的标题栏并不是很稳定,u3d会自己覆盖掉我们的重绘效果。所以我们想在window下要使u3d的标题栏和内容比较匹配,可以采用折中的办法。先去掉u3d的标题栏,再在新建一个窗口,并在此窗口上重绘标题栏(用客户区模拟也可以),最后将这个u3d窗口放到这个窗口上来就能达到我们的效果了。
这个对于新窗口的创建和重绘我都封装在dll里面了,有兴趣的同学可以联系我么索取源码,写的不好,大家共同学习。在这里只提供dll。在MFC,win32程序,winform都可以使用。在
u3d中的话,只要把dll加进去简单写几行代码就可以了。我们新建一个脚本加入代码。
using UnityEngine;
using System.Collections;
using System;
using System.Runtime.InteropServices;
using System.Collections.Generic;
using Utils; public class Script1 : MonoBehaviour
{
[DllImport("RedrawTitlebar", EntryPoint = "RedrawTitlebar", CallingConvention = CallingConvention.Cdecl)]
private static extern void RedrawTitlebar(IntPtr _hWnd, IntPtr _hInst); // Use this for initialization
void Start()
{
#if UNITY_STANDALONE_WIN && !UNITY_EDITOR && !UNITY_EDITOR_WIN
RedrawTitlebar(Common.GetProcessWnd(), Common.GetProcessInstance());
#endif
}
}
之后导出exe就可以看到效果了。
效果如图:

转载请注明出处:http://www.cnblogs.com/fyluyg/p/6093425.html
给Unity3d添加一个漂亮的标题栏的更多相关文章
- PS网页设计教程XXIV——从头设计一个漂亮的网站
作为编码者,美工基础是偏弱的.我们可以参考一些成熟的网页PS教程,提高自身的设计能力.套用一句话,“熟读唐诗三百首,不会作诗也会吟”. 本系列的教程来源于网上的PS教程,都是国外的,全英文的.本人尝试 ...
- Unity3D 创建一个简单的2D游戏
开始研究Unity3d 中的2D游戏. 首先创建出一个项目: 然后创建出一个场景: 然后添加一个背景: 然后创建一个主人公对象: 可以是自己做的素材,也可以是用unity裁剪的素材, 下面贴出裁剪素材 ...
- IOS制作一个漂亮的登录界面
上图是Facebook的登录界面,看起来很漂亮,eamil框和passwod框合在一起,那么这种效果是怎么做出来的呢?我们都知道输入框用layer属性是可以做成圆角的形式,那么怎么样才能够仅仅只让上边 ...
- Asp.Net MVC4.0 官方教程 入门指南之三--添加一个视图
Asp.Net MVC4.0 官方教程 入门指南之三--添加一个视图 在本节中,您需要修改HelloWorldController类,从而使用视图模板文件,干净优雅的封装生成返回到客户端浏览器HTML ...
- 给Ajax一个漂亮的嫁衣——Ajax系列之五(下)之序列化和反序列化
给Ajax一个漂亮的嫁衣——Ajax系列之五(下)之序列化和反序列化 标签: ajaxdictionaryjsonobject服务器function 2012-07-25 18:41 2242人阅读 ...
- 一个漂亮而强大的RecyclerView
代码地址如下:http://www.demodashi.com/demo/13470.html 简介 主要提供了简单易用强大的RecyclerView库,包括自定义刷新加载效果.极简通用的万能适配器A ...
- 3ds Max绘制一个漂亮的青花瓷碗3D模型
这篇教程向小伙伴门介绍使用3ds Max绘制一个漂亮的青花瓷碗3D模型方法,教程很不错,很适合大家学习,推荐过来,一起来学习吧! 车削,材质贴图的应用,添加位图,渲染视图 步骤如下: 在桌面找到3DM ...
- 一个漂亮的JavaScript“警告”替代品
下载 一个漂亮的JavaScript"警告"替代品 安装 $ npm安装-节省sweetalert 使用 从"sweetalert"进口swal; 横波测井(& ...
- linux下如何添加一个用户并且让用户获得root权限
1.添加用户,首先用adduser命令添加一个普通用户,命令如下: #adduser tommy //添加一个名为tommy的用户 #passwd tommy //修改密码 Changing pass ...
随机推荐
- linux的运行级别
一.linux共有七种运行级别,内容如下: 级别0:停机状态,系统默认运行级别如果设为0,将不能正常启动: 级别1:单用户模式,只允许root用户对系统进行维护: 级别2:多用户模式,但没有NFS(h ...
- query 原理
query原理的简单分析,让你扒开jquery的小外套. 引言 最近LZ还在消化系统原理的第三章,因此这部分内容LZ打算再沉淀一下再写.本次LZ和各位来讨论一点前端的内容,其实有关jquery,在 ...
- Object-c学习之路八(NSArray(数组)遍历和排序)
今天学习了NSArray的遍历和排序,现在在这里做一下总结: 遍历现在实现了四中方法: 排序大概有三中方法:(代码中都有注释) 关于对象的排序还是以Student和Book为例 每个Student持有 ...
- 街景地图 API
SOSO街景地图 API (Javascript)开发教程(1)- 街景 SOSO街景地图 Javascript API 干什么用的? 你想在网页里嵌入个地图,就需要它了! 另外,它还支持:地点搜 ...
- 查看Tomcat版本
在Tomcat的安装目录的bin目录下,有这么两个文件 version.bat windows下的批处理文件 version.sh Linux下的Shell脚本 在DOS窗口执行ver ...
- slxna,游戏页面切到后台回来后返回sl页面导致sl页面无响应,解决方法。
slxna在wp7上表现很好,因为那会xna还是微软的亲儿子.但是到wp8时代,微软丢弃xna,不管不问了.但是丢之前没有把兼容搞的完美,以致有很多隐秘的坑,说不定就踩到了. 我这个游戏的sl页面用了 ...
- 百万行mysql数据库优化(补充)
我上大学的那个时候喜欢研究一些数据库的技术,那时候觉得数据处理很重要,而且数据优化也是相当重要的,看了很多数据库方面的资料,虽然在实际的项目也遇到过一些数据库优化的任务,完成之后还是有些心情愉快.但是 ...
- SVN-钩子祥解与配置
钩子脚本的具体写法就是操作系统中shell脚本程序的写法,请根据自己SVN所在的操作系统和shell程序进行相应的写作 所谓钩子就是与一些版本库事件触发的程序,例如新修订版本的创建,或是未版本化属性的 ...
- hdu-4471-Homework-矩阵快速幂+优化加速
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4471 题目意思: 求f(n). 当n为特殊点nk时 解题思路: 当x不为特殊点时,直接用基本的矩阵快 ...
- Linux CPU affinity
在Linux中,我们知道可以通过nice.renice命令改变进程的执行优先级,优先级高的进程优先执行,从而一定程度上保证重要任务的运行. 除了nice.renice外,可以通过CPU affini ...