NGUI基本事件】的更多相关文章

You can add the following functions to your scripts placed on widgets or in-game objects with a collider, provided they are drawn with a camera that has the UICamerascript attached: void OnHover (bool isOver) – Sent out when the mouse hovers over the…
通常我们为对象附加一个脚本组件,脚本组件只要加此鼠标处理事件方法,这个对象就有了点击事件了: void OnClick() { Debug.Log("onclick"); } 可为什么我只要给一个对象附加个脚本,脚本中写此OnClick方法,当我们点击按钮时他就会去执行OnClick方法呢?unity是怎么把他们联系起来的呢?还有除了OnClick事件,还有没有其他事件可以像OnClick事件一样被我们使用,例如:OnDoubleClick,OnHover,OnPress等 答案就在U…
来个前言: 作为一个U3D程序员,自然要写一写U3D相关的内容了.想来想去还是从UI开始搞起,可能这也是最直观同时也最重要的部分之一了.U3D自带的UI系统,也许略坑,也没有太多介绍的价值,那么从今天开始就记录一下主流的UI插件-NGUI吧. NGUI版本: v3.6.8 学习笔记一 假定大家都已经将ngui导入到了项目中,这里需要注意,插件(.package)的存放路径不能有中文,否则会导致解压失败. 导入之后可以看到几个文件夹咯,Editor,Examples,Resources,Scrip…
效果预览 注:Cube上附着的绿色是我添加的粒子效果. 软件环境 NGUI 3.9.x Unity 5.1 x64 相关知识 RenderTexture RenderTexture是一种特殊的纹理,它是在运行时创建和更新. 文档:http://www.ceeger.com/Components/class-RenderTexture.html ScrollView ngui的一个滑动组件 UITexture ngui显示贴图组件 原理 用一个相机单独照射3D模型和粒子 ——> 把相机的图形映射到…
导入NGUI包后,菜单多出一个选项 "NGUI",选择其子选项 "options" -- "Reset Prefab ToolBar" ,在弹出的窗口 "Prefab ToolBar" 中,拖拽 "Control - Backgroud"  到Hierarchy窗口中.…
//原来写在其他博客上的东西,搬迁 预备知识: 要明确的三个概念: 设计分辨率:在编辑器上开发UI使用的分辨率.我们所有的UI都是在这个分辨率下设计制作的. 显示区域分辨率:设备上所显示的UI区域在编辑器中的分辨率. 屏幕分辨率:设备实际的分辨率. 已知设计分辨率,屏幕分辨率,求区域分辨率的计算方法 设置变量 设计分辨率 ContentWidth * ContentHeight,以下简写为 CW * CH 屏幕分辨率 width * height,以下简写 W * H 区域分辨率 TargetW…
效果: 思路: 1.算出正确的uv去采样过滤图,上一篇文章说的很明白了.Shader实例:NGUI图集中的UISprite正确使用Shader的方法 2.用当前血量占总血量的百分比来设置shader中的变量,来控制血条的裁剪. 实际操作中,在shader中声明一个uniform float _Factor 然后在C#脚本中,对这个变量进行设置,结果发现,界面上不能实时响应这个值,进行正确的裁剪. 那么我只好牺牲color的一个分量,比如设置g分量,shader中用g分量的值来对血条进行裁剪.最终…
效果: 变灰,过滤,流光 都是UI上常用效果. 比如: 1.按钮禁用时,变灰. 2.一张Icon要应付圆形背景框,又要应付矩形背景框.就要使用过滤的方式来裁剪. 避免了美术提供两张icon的麻烦,又节省了内存. 3.流光,呃……,策划就是要,你能怎么办. 实践: NGUI把要用到的图片做成了图集,它会记录每一张小图的信息. 包括:每一张小图在这张图集里面的位置,长,宽,padding,border.等等. 使用时只是采样这张小图所在区域,然后显示在UI的mesh上. 如果我们用这张小图的texc…
基本事件包括begin,canceled,move,ended四项,如果对象的hidden属性为yes,则无效果,hidden属性必须为no;才能使用: -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{//触碰开始 //    NSLog(@"%ld",[touches count]); if ([[event allTouches]count]==2) { NSArray * one =[[event a…
由于只是给Uinty开发插件,对Unity没有系统的学习,对Unity的很多功能都不是非常了解,幸得其他Unity同事的耐心教导,才不至于想崩头.记录一下,避免重复犯错. NGUI可以建立指定视口大小的摄像机,只要新增2D UI或者3D UI,就可以通过修改UI的大小,达到修改视口大小的目的 新建UI的方法:NGUI-> Create->2D UI/3D UI P.S: 摄像机属性Culling Mask要设成Everything,不然啥都看不到哦…
英雄联盟(撸啊撸) QQ飞车 魔兽世界等等相信大家都玩过游戏吧,玩过那UI知道是什么吧?UI可能说得有点专业的话那么游戏中那些属性面板例如: 现在对UI有一定认识了吧!回想一下您玩过的游戏就一定知道什么是UI了.这是您一定会问那NGUI又是什么呢?这个问题问得好? 我先来介绍一下Unity3D自带的UI层. 在Unity3D中原始就提供一套UI框架,但是由于性能特别差,用起来不是那么的方便和顺手(您可以自己去研究一下自带的UI会发现很多好玩的).在这样的情况下衍生出很多第三方的UI插件.目前公司…
效果图如下: 其实很简单,在NGUI原有的滑动组件的基础上处理一下比例系数就好,每个块的位置是固定的,移动的是Panel. 所以呢用Panel的位置与块的位置做差在比几个块不就成了比例系数了么..自然就出来了,最后在处理一下层级就ok了. 代码如下(我是生成的10个块): using UnityEngine; using System.Collections; public class test : MonoBehaviour { private GameObject mItem; ]; , ,…
NGUI中我们要同时完成Scale与Transform的效果,会发现动画并不是同我们想的那样运行的. 原因就是Tween Scale与Tween Transform的冲突调用. Tween Scale中 用来设置localScale Tween Transform中 也用来设置localScale. 这就产生冲突了...这里最简单的方法就是把两个脚本合并一下删掉Tween Transform中的localScale,因为还是得用Tween Scale来控制Scale. using UnityEn…
1.NGUI中UI的深度关系(新版NGUI 3.9): 在同一个Panel中,不管同不同Altas,各个UI的顺序受Depth影响 在不同Panel中,UI的顺序受Panel的Depth影响 例如Panel_1里有个Button,Panel_1的Depth为1,而Panel_2的Depth为0,则不管Panel_2中的UI的Depth怎样,永远显示在Button之下 旧版的复杂关系在新版取消,Z轴也取消,现在不可通过Z轴设置顺序了. 2.[NGUI]如何动态添加回调函数并添加参数: // 创建新…
我们在玩任何一款手游产品时,都是先上来个logo界面,游戏欢迎界面等,这就意味着我们要做一款游戏需要多个场景,场景之间来回切换实现游戏逻辑,unity也不例外,所以从本篇开始将会介绍如何搭建多个场景,本篇先看游戏logo场景的制作,先上图: 再次用时空领地的logo了,这里的时空领地的logo是个动画,全部是用NGUI实现的,重点是做这个界面没用一句代码,除了点击切换场景. 之前那个游戏场景,我起名GameScene,然后我新建一个场景File->New Scene,起名BeginMenuSce…
在NGUI中使用Sprite的遮罩效果可以很轻松的实现技能CD效果. 具体实现步骤: ①新建一个技能图标的Sprite 如图中的Skill001,再在该技能Sprite上添加一个Sprite做遮罩, Atlas中选一张纯灰色背景的图片,如图中的Shade_Sprite. ②在该遮罩Sprite中有三个属性用来控制遮罩的效果. Type:Filled Fill Dir:Radial360 Fill Amount:0 滑动Fill Amount,就可以看到效果了 ③给技能游戏对象绑定一个快捷键或按钮…
NGUI元素的遮挡情况是不依赖空间关系,所以在NGUI上添加特效有时候特别蛋疼,特别是美术同学还要依赖空间关系来控制特效效果,那先看看看NGUI的层级是怎么处理的,不过下面的描述都是针对单个相机下的Panel,如果存在多个相机当然还要考虑相机的前后关系.在写之前,还是记录下这篇随笔参考的资源:<NGUI 渲染流程深入研究>) , 一篇不错的介绍,对理解整个流程很有帮助,对层级关系也做了很多描述;作为补充,<NGUI的渲染流程> 对 理解UIPanel.UIWidget.UIDraw…
1 渲染流程 NGUI的渲染流程其实就是把Widget组件生成Mesh所需要的缓存数据,然后生成对应的DrallCall组合对应数据,生成渲染需要的Mesh数据,提交渲染. Widget(数据) UIGeometry被UIWidget实例化之后,通过UIWidget的子类,也就是UISprit,UILabel等,在OnFill()函数里算出所需的Geometry缓存(顶点数,UV,Color,法线,切线), 参考Sprite的Fill函数为例,根据Widget的绘制区域.颜色.UV等信息生产顶点…
http://blog.csdn.net/icefantasylcj/article/details/49450555 大家好,我是雨中祈雨.一直以来,CSDN都是我最好的编程助手.这是我在CSDN的第一篇关于Unity3D的博客,其实也就是记录我在学习Unity3D时遇到的一些小问题从不懂到有所了解的过程.另一方面,如果能帮助到遇到过同样问题的Unity3D初学者朋友们,那就再好不过了. NGUI是一款非常好用的Unity3D插件,其简单的操作.强大的分辨率自适应以及效果良好的缓动动画等等都是…
NGUI事件的种类很多,比如点击.双击.拖动.滑动等等,他们处理事件的原理几乎万全一样,本文只用按钮来举例. 1.直接监听事件 把下面脚本直接绑定在按钮上,当按钮点击时就可以监听到,这种方法不太好很不灵活.       C#   1 2 3 4 void OnClick() { Debug.Log("Button is Click!!!"); }   2.使用SendMessage 选择按钮后,在Unity导航菜单栏中选择Component->Interaction->Bu…
http://blog.csdn.net/chiuan/article/details/9290651?utm_source=tuicool&utm_medium=referral 来分享一个新的NGUI按钮方法回调的脚本,个人不是很喜欢原来那个UIButtonMessage,根据原来稍微修改了下.会比原先的智能和优化代码结构,效率也会好些. 认识:一个按钮事件发生理应有2个东西:1.发生事件,2.接收对象 1.发生事件: 如上图,我们看见这是一个标准的NGUI创建后的按钮对象,添加了TTBut…
NGUI 版本2.6.3 在做新手引导时,需要高亮特定UI元素,也就是加个黑色蒙板,然后在蒙版上显示这个UI元素,为了简单方便我扩展了下UISprite,来镂空指定空间. 分为2种,矩形和圆镂空,矩形比较简单,就是渲染1-8个三角形 效果如图 矩形镂空 圆镂空 代码下载地址 http://files.cnblogs.com/files/liange/UISpriteExt.7z…
解决NGUI自动被设置LYAER uiwidget.cs1011行public void checklayer()这里修改 可以让LAYER不跟随父物体变动 但是这里有个问题 摄像机的CULL 不会被 这种修改过的所影响......…
ngui的tween的tweenFactor属性 这个属性是用来记录动画运行的位置的.可以通过设置它来达到动画运行到一半从新设置从新开始…
ngui中 代码调用按钮事件 好烦人啊这个问题, 我弄完发上来 这个问题解决了一半 发现可以用 按钮绑定来解决这个问题,并且更安全方便快速 直接在按钮上添加一个 key binding 指定按键 搞定 不过看了一下源代码,好像这个binding实际上就是一个委托,哈哈,这样实际上两个问题都解决了@.@ using UnityEngine; /// <summary> /// This class makes it possible to activate or select something…
NGUI图集中的图,在游戏中显示出来带有黑边的问题. 实际上是因为图片在导入到图集中,图片四周的完全透明的边缘部分会被裁掉,而在图集中的实际大小比图片原始大小小以及图集中图片之间的间距设置得太小导致. 将Padding中的数值改大一点点,比如2,3,可以缓解这种问题. 或者图片本身边缘部分如果是完全透明的,则用ps裁剪掉.…
NGUI确实是非常棒的一个做界面的插件,比起U3D自带的GUI要好很多,当然也有一些不好之处,毕竟什么都不可能那么完美. 最近在用Unity写游戏使用NGUI遇到了一个很多人都在遇到的问题,就是关于屏幕自适应,谷哥度娘里面写关于适应屏幕的帖子很多,但是大多都是一样抄来抄去,都是说是Panel里面加个UIStretch里面加个 if 分支,什么OnWidth什么的,还要把UIAnchor的side放置在Bottom等等步骤,过于麻烦,而且效果也一般. 不知道大家在用最新的Unity的时候在UISt…
NGUI版本为3.5.1. 将camera 设置为正交模式,size值设为1. UIRoot(2D)有3种缩放样式: 1.PixelPerfect.UI严格按照指定的像素大小显示,不会随着屏幕的分辨率变化.这表示,一个按钮在低分辨率下看起来会比较大,而在高分辨率下看起来比较小. 2.FixedSize .UI按照在Game tab内的显示比例,自动调整大小. 3.FixedSizeOnMobile .根据发布平台(移动/桌面)在以上两种样式中自动选择. 还有3个公共属性: int  manual…
原文地址:http://www.cnblogs.com/cqgreen/p/3348154.html   一.当下移动设备的主流分辨率(数据来自“腾讯分析移动设备屏幕分辨率分析报告”) 1.1 iOS设备的分辨率主要有:   宽 高 宽高比 960 640 1.5 1136 640 1.775 1024 768 1.3333 2048 1536 1.3333   Android设备的分辨率则相对纷杂,主流的分辨率有: 宽 高 宽高比 800 480 1.6667 854 480 1.7792 1…
雨松MOMO 2014年05月04日 于 雨松MOMO程序研究院 发表  现在用unity做项目 90%都是用NGUI,并且我个人觉得NGUI应该算是比较成熟的UI插件,虽然他也存在很多问题,但是至少这么多游戏都在用,它目前是能hold住的,嘿嘿. 这篇文章说说我现在是怎么自适应UI 和 3D 游戏的.. 1.获取屏幕的宽高 Screen.width  Screen.height 可以回去设备屏幕的宽高,但是它并不是NGUI的宽高.比如你想做一个全屏的UISprite . 这样的代码是错误的.…