unity3d创建window
unity3d创建windwo的方法如下:
GUILayout.Window (, new Rect (50, 50, 200, 100), Func1, "窗口1");
第一个参数是新创建的窗口的编号,可以自定义,这里定义为了1;
第二个参数是窗口的GUI坐标位置,其中50,50表示左上角的坐标,200,100表示右下角的坐标,两点确定一个矩形;
第三个参数是创建该窗口后调用的方法,会自动将第一个参数传入该函数;
第四个参数是该窗口的名字。
其中func1函数如下:
void Func1(int id){
if (id == ) {
//id与绘制窗口时的编号是一致的,用于区分是哪一个窗口调用
GUILayout.Button ("这是一个按钮");
}
}
这时候的界面如图1所示:

图1
下面修改一下需求:
运行程序后,首先界面上有一个按钮show,点击该按钮后显示上图1所示,再点击图1中的按钮后窗口1隐藏。且窗口一能够实现拖动效果。
具体代码如下:
private bool isShow;//显示是否为真
private Rect windowPos;//窗口坐标 // Use this for initialization
void Start () {
isShow = false;//初始值为false,即窗口1不显示
windowPos = new Rect (, , , );//窗口1的默认位置
} void OnGUI(){
//思路是:当点击按钮show时,isShow为真,在第二个判断条件中显示窗口
//其中,窗口位置也是一个变量,这样才可以避免每一帧擦除时重新绘制为变化后的位置
if (GUILayout.Button ("Show")) {
isShow = true;
}
if (isShow) {
windowPos = GUILayout.Window (, windowPos, Func1, "窗口1");
}
} void Func1(int id){
if (id == ) {
//id与绘制窗口时的编号是一致的,用于区分是哪一个窗口调用
if (GUILayout.Button ("这是一个按钮")) {
isShow = false;
}
GUI.DragWindow ();//该函数放在最后,即可实现窗口的拖拽效果
}
}
unity3d创建window的更多相关文章
- zk框架中利用map类型传值来创建window,并且传值
@Command @NotifyChange("accList") public void clear(@BindingParam("id") String a ...
- Unity3D 创建动态的立方体图系统
Unity3D 创建动态的立方体图系统 这一篇主要是利用上一篇的Shader,通过脚本来完成一个动态的立方体图变化系统. 准备工作如下: 创建一个新的场景.一个球体.提供给场景一个平行光,准备2个立方 ...
- Activity Threa创建Window和View分析
http://blog.csdn.net/ljsbuct/article/details/7094580 1. 入口. 以前一直都说Activity的人口是onCreate方法.其实android上一 ...
- 创建 window service 定时任务
参考文章:http://www.cnblogs.com/jack-liang/archive/2011/05/20/2051743.html 前段时间做过一个项目,前端系统提供添加定时任务,后端系统要 ...
- Unity3D 创建一个简单的2D游戏
开始研究Unity3d 中的2D游戏. 首先创建出一个项目: 然后创建出一个场景: 然后添加一个背景: 然后创建一个主人公对象: 可以是自己做的素材,也可以是用unity裁剪的素材, 下面贴出裁剪素材 ...
- Unity3d在Window上使用SAPI进行语音识别
前言 在之前<Unity利用Sapi进行windows语音开发>中,本计划不准备继续做语音识别.因为在unity3d中已经提供了语音识别的相关方法,详见unity3d的官方文档:https ...
- unreal slate 创建 window
testWindow = SNew(SWindow) .Title(LOCTEXT("Asset Window", "Asset Window")) .Clie ...
- 【Untiy3D 游戏开发之一】Unity3D For Window/Mac最新4.2.0版本破解教程
转载请标明:转载自[小枫栏目],博文链接:http://blog.csdn.net/rexuefengye/article/details/11646885 一.Unity3D For Mac 1.首 ...
- python3中 tkinter模块创建window窗体、添加按钮、事务处理、创建菜单等的使用
开始接触桌面图形界面编程,你可以到安装路径 \lib\tkinter 打开__init__.py 文件了解tkinter 1 tkinter 模块创建窗体,代码如下截图: 运行结果,如有右图显 ...
随机推荐
- 【GCD】AtCoder Grand Contest 018 A - Getting Difference
从大到小排序,相邻两项作差,求gcd,如果K是gcd的倍数并且K<=max{a(i)},必然有解,否则无解. 可以自己手画画证明. #include<cstdio> #include ...
- JDK源码学习笔记——Iterable/Iterator实现原理
Collection接口继承java.lang.Iterable接口,集合类重写了iterator()方法 public interface Iterable<T> { Iterator& ...
- Html 事件列表
Html 事件列表 一般事件:onClick HTML: 鼠标点击事件,多用在某个对象控制的范围内的鼠标点击onDblClick HTML: 鼠标双击事件onMouseDown HTML: 鼠标上的按 ...
- storm一键脚本
1一键脚本 #!/bin/bash # 1 声明 #-------------------------------------- #请在strom/bin/下执行脚本 #supervisor-host ...
- Ubuntu下,清屏等终端常用命令
转自:http://blog.csdn.net/gaojinshan/article/details/9314435 # ctrl + l - 清屏 . cLear# ctrl + c - 终止命令. ...
- java >>> 和 >>>=的区别
java >> 和 >>> 以及 >>>= 的区别 可能大家都知道java中>> 和 >>> 的区别,那这里我也啰嗦一下, ...
- jenkins平台通过maven方式使用sonar报大量关于html/css/js的错误解决办法
1.如果项目只关注java的源代码扫描,可以在sonar上把检查html.css.js的插件卸载,让后重启sonar避免不需要检查的内容报错误
- JQuery when
jQuery.when(deferreds) 参数deferreds,一个或多个延时对象或JS对象,我们初略的认为它就是一个或多个异步请求. 例如: $.when($.ajax("page1 ...
- metal 优化数据分析
https://developer.apple.com/documentation/metal/render_pipeline/viewing_pipeline_statistics_of_a_dra ...
- 如何在Visual Studio中加载web load test的后缀为.ltrar的结果文件
1. From a Web performance and load test project, open a load test. 2. On the embedded toolbar, cho ...