![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
UGUI
紫龙大侠
程序的世界很单纯!!!
展开
-
UGUI动画快速制作
在UGUI中有一些交互的元件需要进行动画制作。在这里讲一个非常方便快速的制作方法。我记得之前好像写过类似的文章,但是没在UGUI分类里。现在再使用新版的unity来制作一个。当前版本使用 unity2020版本。以UGUI的按钮为例。目标:快速制作一个按钮动画。更多内容关注:unity风雨路首先打开一个新场景新建一个按钮。在Transition里选择Animation选项。点击之后会要求你创建一个动画状态机,如图:创建了一个名为button的状态机,并且自动创建了按钮相对..原创 2021-04-13 11:08:03 · 1586 阅读 · 1 评论 -
UGUI之Scroll view
Scroll view是一个方便制作滑动的组件。游戏里背包等经常用到的。效果如下:之前说过自己来制作滑动器的方法:https://blog.csdn.net/alayeshi/article/details/50240075下面讲的是一个更为简单的方法:使用Scroll View组件。方法如下:1.首先新建Scroll View,然后在它下面会找到Content。2.将要被展示的内容放到它的下面,作为其子物体。如图:3.在Content上添加组件Grid layout group原创 2020-07-17 10:59:37 · 303 阅读 · 0 评论 -
UGUI之Button按钮多种触发方式实现(有参无参函数)
不BB了,直接上图:首先建立一个button;之后看button属性:如图右下角;那里的红线的地方有个“+”号,点击之后会出现如图右下角属性的东西。然后None的地方需要一个gameobject,这个gameobject就是要触发的物体,所以,这个物体要绑定你触发事件之后要实现的功能的脚本。本例子中把Main Camera 作为gameobject了。如图拖到None的位置;原创 2015-03-12 10:02:53 · 13783 阅读 · 1 评论 -
unity的UI Event事件(Event Trigger和EventSystem对比)
首先看Unity中UI Event事件介绍上图中出现的组件在场景里都是unity里的事件相关的组件。例如:场景里EventSystem里默认就有Standalone input module这个组件(当然也可以随便加其他组件)Graphic Raycaster默认在Canvas里面。等等。如下图:在上两篇博客中讲了Event Trigge原创 2016-11-08 18:48:18 · 8155 阅读 · 0 评论 -
EventSystem的事件触发和pointer类执行顺序
上一篇写了Event Trigger的触发事件方法。这篇写EventSystems的触发事件方法。这两个方法都可以用来触发3D和2D事件。方法非常简单,只要将下列代码绑定到物体上就可以触发事件了。具体步骤如下:1)首先把代码写上(如下):注意:脚本TT必须继承这些类(如IPointerEnterHandler, IPointerExitHandler等等)。代码的l原创 2016-11-08 15:43:35 · 7889 阅读 · 2 评论 -
UGUI射线穿透问题解决方案
在unity项目里3D场景中如果有用到射线的,鼠标点击UI会发生UI会被穿透,导致3D场景里的射线触发。举个例子:下面场景里,在3D场景里点击地面人物(红色的cube)会移动到点击的地方,现在有个button(下图中“显示游戏介绍”按钮)重叠在地面上,当点击按钮时会显示出游戏介绍的界面,但同时人物也会移动到点击的地方(这不是我们预期的效果)。运行cube默认位置: 当点击按原创 2016-11-17 15:58:44 · 7484 阅读 · 0 评论 -
UGUI如何让Text框大小随文字增加而变化
需求就是评论框的大小要随文字的内容的增大而变大在UGUI里Text并不能智能的判断text长宽够不够盛放文字内容。由于公司只有我一个开发unity的所以无人交流在网上我也没发现有什么组件和插件可以满足这个需求,所以只有自己写。因为需求里设定的评论区宽度是固定的,所以我直接将Text宽度固定(而且我也没想到Text宽度如何随着文字的增加,看过雨松的思路是把文字渲染成图,然后提前获取文字长原创 2016-11-17 16:02:34 · 23145 阅读 · 5 评论 -
UGUI之 Text内容长度限定
在UGUI里Text显示的字符有时候需要个数限制。只需将下面代码绑定到text上就可以了。namelenth是用来接收文字个数的。在其他脚本里只要设置namelenth这个值就可以。由于Setnamelength()这个方法一直在Update里被调用,所以可以实时的将改变的个数值namelenth传入下面的Setnamelength()这个方法。本案例中用按键盘P键来限定了传入个数原创 2016-11-18 18:27:50 · 8173 阅读 · 0 评论 -
unity弹幕功能实现
近年来直播app和视频app如日中天,在这些app里往往会有一个弹幕功能。实际的项目中肯定是用服务器客户端直接的数据来控制的,这里只在客户端进行测试实现弹幕核心功能。下面说的就是我是如何实现弹幕功能的。首先是需求:要求全屏有四行弹幕,从下至上排列,每行依次显示,弹幕从右往左移动。弹幕移动出屏幕就消失。制作步骤:1)建立弹幕文字的prefab和要显示的UI;(下图中DanmuTe原创 2016-11-17 16:03:32 · 5327 阅读 · 2 评论 -
UGUI文本打字机效果
在NGUI里有一个现成的脚步可以给Text的文字设置为打字机的效果,而UGUI并没有给我们提供这个方法。所以下面脚本用来实现这个功能。先看效果图:实现方法非常简单,直接把下面脚本绑定到Text文本上就可以。脚本:using UnityEngine;using System.Collections;using UnityEngine.UI;public原创 2016-12-13 10:50:21 · 3211 阅读 · 0 评论 -
UGUI实现直播间聊天消息滚动功能
如今直播APP火的简直不像样子了。在直播间里会有观众和主播交流的功能。主要方式是主播动口(说),观众动手(打字)。这篇文章讲解一下观众客户端聊天功能的实现。这里为了更清楚的看到效果功能,我做了一个客户端单机版来讲解。(该版本为unity5.3.2f1)需求功能是:观众新发送了聊天消息会把之前的消息顶到上面,用户也可以通过滚动聊天栏翻看之前的用户聊天记录。先看下面gif图功能:原创 2017-03-20 11:34:41 · 5230 阅读 · 3 评论 -
UGUI血条渐渐减掉实现
好久没写文章了。那天有人问我游戏人物血条如何慢慢减掉。今天写一下吧。首先上个动态图,看效果:在之前的文章中讲过如何实现技能冷却的效果(上图中技能冷却效果),血条的慢慢减小原理和技能冷却的是一样的。下面是具体步骤:1.首先先新建一个scrollbar 作为血条,然后把 Handle的颜色改成红色,并且把ImageType改成Filled.,把填充方式改成水平的(见下图:原创 2017-04-25 13:01:17 · 8022 阅读 · 0 评论 -
UGUI动态生成列表功能实现(增删保存)
在UGUI 里不免会有一些列表需要生成和显示。例如最简单的增、删、改、查等都需要列表的变化。本文只讲增、删、保存、清空UGUI配合的变化方法。下面以实现场景里角色的实时位置的增加、删除、保存为案例开讲。先看一下实现增加效果图:首先是UI的制作,这个比较简单,之前讲过的,可以参考:http://blog.csdn.net/alayeshi/article/deta原创 2017-06-19 16:18:12 · 5801 阅读 · 6 评论 -
UGUI实现模糊查询动态生成列表功能
这篇文章主要以案例的形式讲解如何制作一个UGUI的查询列表并且实现模糊查询和动态生成列表。需求:场景中有一些名字不同的物体要求被查找并在列表中显示物体名字。如下图的目录结构,一个父物体下有很多个子物体要求被查询并显示在UI的列表中。制作过程:1.新建一个图片用来做显示列表的窗口,也就是下图中的rect的区域。2.在rect原创 2017-09-19 15:43:09 · 3443 阅读 · 13 评论 -
EventTrigger触发3D物体事件和UGUI事件
UGUI中普通的事件触发方法之前已经了,现在讲一下另一种触发事件的方法,这种方法不仅可以让2D的UGUI触发还可以让一个3D物体来触发某个方法。首先写一个脚本用来写一个触发事件的log方法,如下:using UnityEngine;using System.Collections;public class testtrigger : MonoBehaviour { //原创 2016-11-08 15:20:04 · 9511 阅读 · 6 评论 -
UGUI之Inputfield在安卓中设置默认调用中文输入法和记录输入法
UGUI里的Inputfield里提供了很多种不同的输入类型,如下图(白色选项就是提供的类型):(我用的版本是unity5.3.2f1)Inputfield组件默认会选择Standard(标准)。安卓上如果使用Standard(标准)选项会默认调用英文输入法。而且如果手动切换成中文输入法,在关闭输入法后再次开启,又会变成英文输入法。这样的用户体验相当不好。所以我们的需求原创 2016-10-17 19:14:27 · 5483 阅读 · 0 评论 -
Unity如何修改UGUI下组件的长度和宽度
Unity如何修改UGUI下组件的长度和宽度,之前一直没用过,现在才知道的(用的5.3.2版本)。只有一句话:this.gameObject.GetComponent().sizeDelta = new Vector2(200F,100F);具体例子:在ugui里建立一个image图片:默认大小为100*100我们要动态改为200*100只用下面代码:using原创 2016-09-08 18:46:47 · 24876 阅读 · 0 评论 -
UGUI之Toggle之单选框及复选框制作
废话不说直接上图:Toggle新建出来的就是多选框,如图黄线部分为多选框。。。辣么单选框肿么做呢????以首先新建2个Toggle和一个gameobject(gameobject放在Canvas下),然后给这个gameobject添加一个Toggle Group脚本。之后把两个Toggle都选中,把gameobject拖给Toggle脚本中的 Gro原创 2015-03-05 10:24:15 · 14193 阅读 · 3 评论 -
UGUI 5.0版本Anchors功能详解
之前有写过NGUI系列的功能博文,也写过4.6版本的UGUI。想不到Unity发展如此之快,5.0版本中不再支持NGUI了我也不得不使用UGUI了。UGUI的地位已经举足轻重了,所以之后的博客中我会更新整个5.0版本UGUI功能系列文章。正文:UGUI 5.0版本Anchors的详解原创 2015-09-11 14:57:52 · 3071 阅读 · 0 评论 -
UGUI的Slider与Gameobject的结合使用
用Slider做一个控制cube旋转速度的滑动功能首先建立一个cube和一个Slider。然后给cube加一个旋转脚本然后要把这个slider和cube联系起来。在slider的属性里面有一个On value changed的属性(这个和button的方式一样),把cube拖过来,之后找到脚本里面的tundegree(注意是最上面那个Dynamic floa原创 2015-09-16 11:15:04 · 2149 阅读 · 0 评论 -
UGUI的image的属性
image的属性主要是讲image type这个属性。这个和NGUI里的sprite属性一样的。首先先建立一个image 然后选择一个sprite 如图;看到imagetype里面有四个属性,和NGUI里的sprite一模一样,没错就是它们。simple样式没什么可以说的。介绍一下Sliced属性。关键字:九宫格!没错就是这个。在simple的样式下放大图片会有失真原创 2015-09-16 12:13:08 · 3745 阅读 · 0 评论 -
UGUI之slider详解
slider作为一个滑动的工具。很简单和NGUI里的基本一样。直接上图:步骤:1.首先建立一个image选择一个黄色的sprite作为一个背景,命名为background,然后再复制一个命名为black背景颜色调成黑色稍微缩小然后放到下面,再复制一个命名为Green同样的做法改成绿色,红色的一样复制(此处命名为green(1));2.在background下面加上一个slider的组件原创 2015-09-16 16:19:04 · 6636 阅读 · 0 评论 -
UGUI之页面滑动(Grid Layout和Scorll Rect&&mask)
Grid Layout是一个排版的东东,Scorll Rect是一个滑动的东东,然后MASK是一个负责显示和隐藏区域的东西。。。直接看例:我们的目的是让图中的多个Leveitem1进行排列,最后进行滑动效果。首先我们建立一个空的GameObject作为盛放排列Leveitem1的容器,其实就是NGUI里面的Grid功能。然后我们这样在Component里找到La原创 2015-12-09 19:39:37 · 3264 阅读 · 4 评论 -
UGUI之Selectable功能详解上篇(UI动画制作与实现)
Selectable这个东西是什么呢?先来看看他的属性:之后看看他在哪里会出现?既然看到了有是否允许交互的属性大致可断定他是在有交互的UI部件上的吧。。。没错,例如我们的Button还有Toggle都有他的身影 ;如下图:但是其的部件就没有了,例如image和panel,text等等;但是我们可以给他添加组件添加之后就会有这个组件了原创 2015-12-31 17:52:42 · 4448 阅读 · 0 评论 -
Selectable的Navigation用法
Navigation就是导航。先看属性:下面实例演示;首先建立一个button和一个image,button默认有Selectable属性,所以也有Navigation。但image没有所以给image添加这个组件;看到Navigation的属性就是上面图片的属性。在导航的下面有一个选项,点击这个按钮之后就会在场景视图中看到有导航线出现。如图;原创 2016-02-04 10:00:51 · 1456 阅读 · 0 评论 -
UGUI如何屏蔽emoji表情
UGUI是不支持emoji表情的,屏蔽的方法也非常简单。核心语句只有一句:string result = Regex.Replace(strText, @"\p{Cs}", "");//屏蔽emoji 具体看实际案例:在一个场景里建立一个InputField输出框和一个text。Text用来显示输入框输入的内容。在Text上加个脚本getsting;然后把InputField里原创 2016-08-19 18:50:03 · 6193 阅读 · 1 评论 -
UGUI文本字体颜色和大小等代码修改
一直没有时间写东西,学习了很多的东西总是没有时间来记录。下面记录一个新发现的功能,UGUI如何在同一个text将字体改为不通的颜色和大小等。直接上效果图:从图中的效果可以看到,属性面板里也可以看到只有一个text。代码就是下面的代码:using UnityEngine;using System.Collections;using UnityEngine.UI原创 2016-07-06 20:57:18 · 53419 阅读 · 0 评论 -
UGUI之ScrollRect添加响应事件后不能滑动
今天发现个问题UGUI的ScrollRect组件会和放在它上面的button或者toggle等组件有事件响应的冲突,具体体现为上面的组件会遮挡下面的响应,在button或者toggle等组件上出现只能点击不能滑动的效果,要想滑动必须点旁边才行。这样的用户体验是绝对不可以的,所以必须解决掉!具体实例:下面是项目中要送礼物的列表,我的GiftImage是整个黑色的背景,同时上面加了Scroll原创 2016-07-11 20:12:57 · 13689 阅读 · 3 评论 -
ugui如何制作遮照和切割效果(mask)
由于项目需求需要动态加载用户头像并且变成圆的头像。服务器下载的图片全都是矩形,所以就要客户端来切割。具体效果如下:原理方法就用UGUI里的mask遮照来实现。实例步骤:1.下面有两个物体,maskhead 和他的子物体userhead_portrait2.maskhead作为背景层必须是圆的图片(此处要切成圆的,如果要切成三角形就必须是三角形的图片),其上必须有原创 2016-08-12 19:23:34 · 5085 阅读 · 0 评论 -
UGUI之Mask切割图像shader应用
在我之前的一篇文章写到使用Mask切割图像的方法。具体链接http://www.manew.com/thread-93954-1-1.html正如一些朋友所说上面这种方法把图放大之后确实存在有边缘出现锯齿的情况。由于我工作项目做的是手机端切割用户头像,手机屏幕小根本看不出来锯齿所以当时就用了这个方法,但追求完美的程序的都想做到无懈可击。看到网上一篇写了用shader配合Mask的方法,由于我对原创 2016-09-18 16:37:29 · 2877 阅读 · 0 评论 -
unity4.6之UGUI之与代码结合及Text讲解
UGUI与以往的NGUI不同之处很多其中一大特点就是UGUI 把精灵图集的功能取消了。首先是我们看看UGUI的UI界面:其中有项是Text...也就是 本节要讲的内容;说到text不得不说的是字体:下图中看字体的属性较之NGUI方便了很多的,line spacing 是行间距辣么字体木有了图集自然会有新东西了在project里直接右击会出现impor原创 2015-03-04 17:53:27 · 2445 阅读 · 0 评论