NGUI制作游戏layer弹出层覆盖效果框是怎样实现对界面覆盖

Ngui 五种点击事件实现方式及在3d场景中点透的情况
- 坚信移动技术可以改变我们的生活方式 - ITeye技术网站
博客分类:
gui作为界面插件之一中,无疑是最好用,使用最多的了从自学unity到现在界面一直使用它由于它的持续更新,我在此不得不说,确实很为开发者作想,为什么这么讲呢?大概在去年吧
当时用的那个版本已经不记得了,反正就是有个需求,要实现“无限循环”拖动,使用过以前ngui的人就知道当时是没有这个功能的,后来被自己弄出来没几天,就发现新版本中就自带了这样的东西,也就是如今ngui列子中的 Endless Scroll Views,当时,记得好像还心里暗骂了“坑爹”。好啦,可能稍微有些偏题了,现在进入正题:ngui点击事件我在此分为5种不同写法来总结一.OnClickOnClick作为传统的单击事件,其实真心好用,直接
[C#] 纯文本查看 复制代码
using UnityE
using System.C
public class onclicktest : MonoBehaviour {
public void OnClick()
Debug.Log("你通过OnClick点击了我!");
不管你是界面按钮 还是物体对象(需要加BoxCollider)都可用可是,太麻烦,不好管理。二.SendMessage1.SendMessage是属于Ngui老版本的一种事件实现方式了,在此就简单说下了&ignore_js_op style="word-wrap: break- color: rgb(105, 105, 105); font-family: 'microsoft yahei'; background-color: rgb(234, 234, 234);"&
Target:接收按钮消息的游戏对象。
Function Name:接收按钮消息的方法,拥有这个方法的脚本必须绑定在上面Target对象身上。
Trigger:触发的事件。
Include Children :是否让该对象的所有子对象也发送这个点击事件。
缺点:不直观,太多拖动操作,效率略低
三.通过UIButton属性面板附加事件
首先,在代码中写你要做的事情,
[C#] 纯文本查看 复制代码
using UnityE
using System.C
public class ClickTest : MonoBehaviour
//通过UIButton属性面板附加事件,该事件方法必须加public修饰
public void btn_Click()
Debug.Log("你通过UIButton属性面板附加事件点击了我!");
然后,拖动绑该代码定到场景任意对象上,
最后,选择你要点击的按钮,把刚才绑定代码的对象拖到,UIButton属性中的On Click中的Notify上,接着在Method中选择刚写的脚本里的方法就可以了
此方法个人感觉是SendMessage的升级版,比以前更加直观易懂,适用于刚接触Ngui的人学习使用。
缺点:效率略低,不可用于3d物体 如:Cube
四..Event Listener(推荐)
Event Listener选择要挂载的按钮,在Unity导航菜单栏中选择Component-&NGUI-&Internal -&Event Listener就可以了
代码写法有2种:
本帖隐藏的内容
[C#] 纯文本查看 复制代码
using UnityE
using System.C
public class EventListerrnTest : MonoBehaviour {
public Transform btn01;
public Transform btn02;
// Use this for initialization
void Start()
UIEventListener.Get(btn01.gameObject).onClick = (x) =&
Debug.Log("你通过UIEventListener第一种点击了我!");
UIEventListener.Get(btn02.gameObject).onClick = _btnC
//实现事件方法
private void _btnClicked(GameObject _go)
Debug.Log("你通过UIEventListener第二种点击了我!");
方便统一管理,效率不错。
五.EventDelegate(推荐)
代码更加简单
方便统一管理,可以单独创建一个事件管理脚本,直接操作管理
效率不错,不需要加载拖动其他额外的东西.
本帖隐藏的内容
[C#] 纯文本查看 复制代码
using UnityE
using System.C
public class EventUITest : MonoBehaviour {
public UIButton _
private void Awake()
//必须为 UIButton
EventDelegate.Add (this._btn.onClick, this.BtnClicked);
private void BtnClicked()
Debug.Log("你通过EventDelegate点击了我!");
代码写好后,拖动绑该代码定到场景任意对象上,同时赋对应button上去就可以了
好啦,ngui五种点击事件处理方式总结到此结束,至于怎么用,那么大家自己取舍咯
若有不足,欢迎指正
=====================分割线================
另附加: 解决ngui在3d场景中 点透的情况
大家做游戏可能遇到 点击地面玩家行走,可是点击界面按钮的时候,事件触发不了,或者同时执行了玩家点地行走事件,
这些都属于点透的情况。
目前据自己经验有2种解决方案
本帖隐藏的内容
1.在ngui事件代码中做一个判断如:
[C#] 纯文本查看 复制代码
viod OnClick()
if(UICamera.hoveredObject != null)
代表的意思是如果鼠标下面有NGUI物体就执行 2.通过射线来检测
[C#] 纯文本查看 复制代码
private RaycastHit _hit=new RaycastHit();.
if (UICamera.Raycast (Input.mousePosition, out _hit) == false)
代表的意思是判断在UI界面层操作.
希望对大家有用 同时有更好方法欢迎赐教
/thread-.html
浏览: 215432 次
来自: 北京
大神,,请问,(isChecked)是什么啊?是bboolea ...
zhang 写道大家不要总阅读。欢迎来评论一 ...
写道我在设置如何格式化的时候 总是保存不了
我在设置如何格式化的时候 总是保存不了 不知道楼主有遇到过这种 ...只需一步,快速开始
总算实现ngui的button上的场景切换了
热度 5已有 5403 次阅读 18:08
前几天看论坛上有ngui插件,然后下下来看了看发现有些基本的界面做起来挺简单;不用敲代码,可是一直不知怎么实现点击按钮跳转到新的场景里,然后到网上也没找到具体的实现方法,后来在论坛求助,说的用&Application.LoadLevel(1);这个函数,可以就是不知道怎么添加,后来这几天一直找办法,最后终于找到了。实现了,谢谢论坛里的网友的帮助。
刚表态过的朋友 ()
作者的其他最新日志
评论 ( 个评论)
点击随机调到资源区或教程区!  Unity3D的uGUI听说最近4.6即将推出,但是目前NGUI等UI插件大行其道并且已经非常成熟,所以我们还是先看眼前吧。
一、实现思想
  商城的功能是很多游戏都拥有的,按下一个界面按钮,弹出一个窗体。
  然后是商城中的商品可以拖动,既可以用手,也可以用滑条等等,至于点击购买就不单单是UI层的事了。等到实现NDate的时候再进行讨论。
二、实现背景
  1、NGUI-&Open-&Prefab tool bar ,拖一个black widget进去
&&&&& 2、之后布局如下,这些应该没什么难度,弄好锚点,depth设好即可
&》BG(Sprite)做高亮
-》 Daimond(UITexture)钻石栏
-》CreateDiamond(UITexture)+按钮
-》Num(UILable)数量
Gold(UITexture)
Hp(UITexture)
&&& 3、然后差不多是这个样子
三、按钮弹出商城
  1、为了示范我们就做一个商城界面即可,其他的斗大同小异,我一般建议一个新的UI界面就用一个新的Panel,新建一个Panel
  2、添加美工给的背景等等,布局如下,比较麻烦的Scroll View,这个我就不加赘述,大家可以看我的博客,NGUI学习笔记Tutorial 4
-》Bg(Sprite)
-& Control - Simple Vertical Scroll Bar
-& Name(Lable)
-& Return(Sprite button)
-& Scroll View
-&Grid(垂直列表)
-&Grid(水平列表)
-&Sprite0(商品图片)
-&CurrentKind
  界面如下:
  3、搞定了商城界面,我们需要做一个点击弹出效果,这个是借助Tween Scale实现的。不得不说NGUI的插件做的真心很好,很多代码都替我们节省了。
 && 首先:
  然后在ShopRoot 挂载Tween Scale,set active 为false 即可
  最后,我们如果要返回的话,需要商城自己的Return来返回,一样的思想
  注意:这里有个问题,我在根节点挂载Tween Scale的时候,有时候会出现UI不见消失不见的情况,不知道什么原因,后来就没出来了,希望大神指点一下。
四、功能实现
  弹出:
 & 基本上就这些,有了UI插件,做UI还是很愉快的,可以专心于UI效果,而不是构造它,祝大家生活愉快。
阅读(...) 评论()君,已阅读到文档的结尾了呢~~
Unity3D游戏开发之NGUI自作登陆界面游戏,界面,登录,NGUI做,登陆界面,之NGUI,游戏开发,ngui,NGUI,3D界面
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
Unity3D游戏开发之NGUI自作登陆界面
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口

我要回帖

更多关于 三星覆盖应用程序界面 的文章

 

随机推荐