Unity3D NGUI UIPlayTween控件(一)动态打开关闭窗口
利用NGUI自带的脚本控件实现按钮点击窗口滑动出现与隐藏。
创建界面
首先建立如下图的三个BUtton与三个Panel
绑定脚本
然后在每个Button上添加UIPlayTween脚本,在Interaction中。将Panel1拖到Button1的TweenTarget上,如图。以此类推,注意TweenGroup应该不同,一个Button与一个Panel要对应在一个Group下,Play direction设置为Toggle,这样可以重复移动。
再将TweenPosition脚本添加到每个Panel上,脚本在Tween中。
设置起始,终止位置
将Panel移到窗口以外,记录窗口起始位置,将Position的XYZ记录到TweenPosition的From下的XYZ,
再将panel拖到窗口内,将窗口结束位置记录到TweenPosition的To位置。意思很简单。设置物体的起始位置与终止位置
注意,这里也要将对应的TweenGroup更改下,一个Button和一个Panel的Group要一样。
这时运行会发现panel会自己动起来,把TweenPosition的脚本禁用(就是把前面的对钩勾掉),如图。
运行,你会发现,点击Button1,Panel从窗口外滑动进来,再次点击,窗口又会滑动出去。这就是Direction设置为Toggle的作用,简单的UIpalyTween的用法实现了。
点击按钮让上次显示的窗体返回,本次显示的窗体前进
方法如下:
//点击建立新窗体,关闭上次打开的窗体
void fnChangePanel(GameObject obj)
{
if (_BtnLast != obj&&_BtnLast!=null)
{
_BtnLast.GetComponent<UIPlayTween>().Play(false);//设置上一次保存的向前移动的窗体向后运动
}
_BtnLast = obj;
}
此方法需要在Button上的UIPlayTween脚本上更改Play direction属性为Forward,不能是Toggle了,否则会有逻辑问题。
Unity3D NGUI UIPlayTween控件(一)动态打开关闭窗口的更多相关文章
- iOS开发小技巧--判断控件是否显示在当前窗口
一.判断控件是否显示在当前窗口,需要同时满足一下条件: 控件的Hidden = NO; 控件的Alpha >= 0.01; self.window = keyWindow; 主窗口的bounds ...
- 双缓冲绘图和窗口控件的绘制——ATL ActiveX 窗口控件生成向导绘制代码OnDraw的一个错误 .
双缓冲绘图和窗口控件的绘制 ---ATL ActiveX 窗口控件生成向导绘制代码OnDraw的一个错误 cheungmine 我们通常使用ATL COM组件,生成一个带窗口的ActiveX控件,然后 ...
- dev控件 xtraTabbedMdiManager 如何将关闭子窗体改为收回主窗体内
前言 本文主要讲解 xtraTabbedMdiManager 如何将关闭子窗体改为收回主窗体内,顺便附上Float(浮动)的时候使窗体最大化,及指定只能某一个子窗体能浮动放大. 下面进入正题. 一.首 ...
- 通过C# WinForm控件创建的WPF WIndow窗口控件无法输入的问题
原文:通过WinForm控件创建的WPF 控件无法输入的问题 今天把写的一个WPF程序发布到别的机器上执行,发现一个比较奇怪的问题:在那个机器上用英文输入法无法输入数字,非要切换到中文输入法才行:但在 ...
- winform用户控件、动态创建添加控件、timer控件、控件联动
用户控件: 相当于自定义的一个panel 里面可以放各种其他控件,并可以在后台一下调用整个此自定义控件. 使用方法:在项目上右键.添加.用户控件,之后用户控件的编辑与普通容器控件类似.如果要在后台往窗 ...
- 用Chart控件绘制动态图表
进行程序设计时,选用一个合适的ActiveX控件,有时可大大减少编程工作量.ActiveX 控件(又称OCX)基于COM技术,作为独立的软件模块,它可以在任何程序设计语言中插入使用.本文仅以VC++为 ...
- CAD控件:网上打开dwg文件时,对dwg文件路径加密的功能
梦想CAD控件2015.03.12最新更新 1. 增加控件状态栏文字,自定义功能, C++接口为 : CStatusBarInformationReactor::CreatePro ...
- .Net语言 APP开发平台——Smobiler学习日志:Poplist控件的正确打开方式以及如何快速实现
最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 样式一 一.目标样式 我们要实现上图中的效果,需要如下的操作: 1.从工具栏上的&qu ...
- winform 用户控件、 动态创建添加控件、timer控件、控件联动
用户控件: 相当于自定义的一个panel 里面可以放各种其他控件,并可以在后台一下调用整个此自定义控件. 使用方法:在项目上右键.添加.用户控件,之后用户控件的编辑与普通容器控件类似.如果要在后台往窗 ...
随机推荐
- spring-data-mongodb查询结果返回指定字段
方法1 DBObject dbObject = new BasicDBObject(); dbObject.put("status", 1); DBObject field ...
- dedecms 使noflag参数及其过滤多个属性的修改方法
noflag='h' 是代表不包含头条属性的意思,其中flag就是属性, 自定义属性值:头条[h]推荐[c]图片[p]幻灯[f]滚动[s]跳转[j]图文[a]加粗[b]. noflag过滤多个属性的修 ...
- Android虚拟机GenyMotion
GenyMotion:需要VirtualBox,安装后可以选择机型,这个应该是Android for x86的一个改进版虚拟机,在原版的基础上针对不同机型用了和原机型同样的GUI,但是发现缺少了Goo ...
- 三、改变struts.xml默认路径后web.xml如何配置
http://yanln.iteye.com/blog/2189816(文章很好)
- Hive学习之一 《Hive的介绍和安装》
一.什么是Hive Hive是建立在 Hadoop 上的数据仓库基础构架.它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储.查询和分析存储在 Hadoop 中的大规模数据 ...
- 『重构--改善既有代码的设计』读书笔记----Introduce Explaning Variable
有时候你会遇到一系列复杂的表达式连续运算的时候,这个时候你可能根本招架不住如此长或者是如此复杂的长函数.这个时候你可以通过引用临时变量来储存他们的结果,将这些长函数的结果分成一个个临时变量来让函数清晰 ...
- Linux(Debian)上安装Redis教程
-- 第一步下载文件到该目录 cd /usr/local/src wget http:.tar.gz 解压 tar xzf redis.tar.gz -- 第二步编译安装 make make all ...
- 最全CSS3选择器
一,CSS3 选择器分类 二,选择器语法 1,基本选择器语法 选择器 类型 功能描述 * 通配选择器 选择文档中所以HTML元素 E 元素选择器 选择指定类型的HTML元素 #id ID选择器 ...
- PHP引用(&)详解
PHP的引用(就是变量.函数.对象等前面加上&符号) 在PHP 中引用的意思是:不同的名字访问同一个变量内容. 变量的引用 PHP 的引用允许你用两个变量来指向同一个内容 //打印数组 fun ...
- 感兴趣的Linux发行版
1. Ubuntu,包括KUbuntu,XUbuntu,Kyrin等等 2. BluestarLinux - 基于Arch Linux,感觉很美 http://sourceforge.net/proj ...