给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 ...
随机推荐
- 图片缩放+拖动(html)
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ShowImg.aspx.cs& ...
- python 获取当前时间
我有的时候写程序要用到当前时间,我就想用python去取当前的时间,虽然不是很难,但是老是忘记,用一次丢一次,为了能够更好的记住,我今天特意写下python 当前时间这篇文章,如果你觉的对你有用的话, ...
- Redis集群方案
Redis集群方案 前段时间搞了搞Redis集群,想用做推荐系统的线上存储,说来挺有趣,这边基础架构不太完善,因此需要我们做推荐系统的自己来搭这个存储环境,就自己折腾了折腾.公司所给机器的单机性能其实 ...
- [原]使用MachOView辅助破解AppStore应用
在破解iOS应用的过程中,需要经常使用 otool 开获取程序本身的信息(比如:是否启用了PIE),获取加密信息, 但是CLI的程序在直观性上还是不如GUI的, 下面描述使用MachOView来查看到 ...
- 玩下Javascript
玩下Javascript 前言 好久没有更新博客了,也蛮少捣弄javascript,今儿看到一个题目,关于给你一个面板,你可以随意的在上面画矩形,可以移动和删除任意一个你创建的矩形,心血来潮搞着玩哈, ...
- JS错误:Uncaught SyntaxError: Unexpected token ILLEGAL
$('tbody', '#' + tableId).append('<tr onmouseover="this.style.backgroundColor=\'#eeeeee\'&qu ...
- Redis系统学习 一、基础知识
1.数据库 select 1 select 0 2.命令.关键字和值 redis不仅仅是一种简单的关键字-值型存储,从其核心概念来看,Redsi的5种数据结构中的每一个都至少有一个关键字和一个值.在 ...
- easyui 通用的datagrid中如何带有查询条件分页
html 代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www ...
- 用maven来创建web工程
大约已经一个月没有写博客了,一个是最近太忙,另外啊还是人慢慢的变懒,最近在拆pool,用到了maven,因此呢把自己的一些心得记下来了,供大家参考,欢迎指正. 1.配置maven环境: 首先下载mav ...
- 将 Servlet (HTTP POST/GET)请求发布到OSB
转载地址:http://user.qzone.qq.com/32221895/blog/1406960844 ------------------------------------- 发帖要200字 ...