UGUI CanvasGroup】的更多相关文章

说明,这种直接设置alpha的方法跟go的setActive(false)性能差不多,只少了激活和冻结冻结调用 http://blog.csdn.net/qq_28824335/article/details/48310709 Canvas Group可以用来控制一组不需要个别控制的UI元素的某些方面,CanvasGroup的属性会影响他所有children的GameObject 其中有四个选项: -Alpha:这个选项很多组件都有,用处也是一样的,在美术中,这个叫做Alpha通道的东东是用来控…
WeTest 导读   本文作者从自身多年的Unity项目UI开发及优化的经验出发,从UGUI,CPU,GPU以及unity特有资源等几个维度,介绍了unity手游性能优化的一些方法.   在之前的文章<手游内存占用过高?如何快速定位手游内存问题>中提到,Mono内存和native内存是PSS内存主要的组成部分,mono内存更多的起到内存调用的功能,因此常常成为了开发人员优化内存的起点:而在游戏的其他的进程中,同样有很多因素影响着游戏的性能表现.本文将从UGUI的优化角度,介绍unity游戏性…
1.UGUI中是没有depth的概念,那要怎么在脚本中动态的改变一个UI元素在hierarchy中的排序位置呢? 放到最上面 Transform.SetAsFirstSibling最下面Transform.SetAsLastSibling某一处 Transform.SetSiblingIndex 2.查看并调试UGUI源码 教程:http://www.tuicool.com/articles/6V7zqi 源码:https://bitbucket.org/Unity-Technologies/u…
1.canvas,screen模式和world模式区别:screen的绑定摄像机与canvas相对位置不会改变不可改变canvas,world模式下有个event camera相对位置可改变,canvas可改变,canvas就相当于一个3D物体.sorting,order layer规定canvas优先级. 2.富文本支持html标签. 3.控制image fill public class imagetype : MonoBehaviour { public Image imagel; pub…
练习目标 练习UI的拖放操作 一.相关组件 EventTrigger Canvas Group ScrollRect Mask Scrollbar 二.拖放练习 1.创建一个Panel,命名Panel1,添加EventTrigger组件,稍稍改一下Panel的颜色 2.Panel1下创建一个Text,输入"Test Draggable\n       object",设置字体颜色及Text超出处理 DragDropScene.cs代码 3.在 uGUI练习(五) Draggable O…
背景 曾几何时,在Winform中,使用MessageBox对话框是如此happy,后来还有人封装了可以选择各种图标和带隐藏详情的MessageBox,现在Unity3d UGui就没有了这样的好事情了,所有的UI都需要自己来搞定了,幸好还有各种插件,Inventory Pro中的对话框方案不失一种通用,可复用的方案. YY(自己的想法) 所谓通用对话框,如果是自己实现的话有以下几点需要解决,窗体显示控制,窗体UI布局,窗体文字显示,窗体事件回调,窗体显示动画控制,窗体显示声音控制,窗体与其他窗…
实现方式 1.引入UGUI自带的事件系统 UnityEngine.EventSystems 2.为我们的类添加接口 IBeginDragHandler, IDragHandler, IEndDragHandler using UnityEngine; using System.Collections; using UnityEngine.EventSystems; public class DragOnPic : MonoBehaviour,IBeginDragHandler, IDragHan…
Uinity版本:2017.3 最近在学Siki老师的<黑暗之光RPG>教程,由于教程内用的是NGUI实现,而笔者本人用的是UGUI,所以在这里稍微写一下自己的实现思路(大致上和NGUI一样) 一.成品 先展现实现后的效果,如下: 功能简介: 物品的添加功能暂时通过摁下X来模拟(在Update()方法中实现) 实现的功能如图所示主要有以下几个 根据相应的物品ID添加到背包中 / 如果已有物品则数量+1 物品间的拖放交换 摁住物品1秒后显示详细信息 二.代码 代码分为两部分,背包整体Canvas…
起因:开发游戏,要在设置界面里给一个设置项添加一个东西解释这个项是干啥的,要求鼠标移到文字上的时候显示一个弹窗差不多的东西,见动图,鼠标移开会消失.但是当我移动鼠标到弹窗上的时候,UGUI会发射一根射线,击到弹窗上而不是文字上,判定为离开文字,于是隐藏弹窗,然后判断进入文字,显示弹窗,如此反复,不是我所希望的..如果这个弹窗不会遮挡射线就不会出现这个问题. 解决方法有两个,一个是写代码,如下: bool ICanvasRaycastFilter.IsRaycastLocationValid(Ve…
最新背包代码: Unity3D — — UGUI之简易背包 Unity版本:2017.3 功能:用UGUI实现简单的背包物品拖放/交换功能 一.简介 在UGUI下,物品的拖放脚本实现主要依赖于UnityEngine.EventSystems下的三个接口 IBeginDragHandler,  IDragHandler,  IEndDragHandler: 其次还有IPointerEnterHandler,IPointerExitHandler等接口来实现鼠标移入移出等操作的监控,同时引用这些接口…
Unity 3-6 UI框架 (基于UGUI) 任务1&2&3&4:介绍 && 创建工程 UI框架: 管理场景中所有UI面板 控制面板之间的跳转 如果没有UI框架,会通过面板之间的交叉访问来实现这些功能,管理混乱 创建工程UIFrameWork: 创建工程目录 导入素材,将素材放入Images文件夹下 将所有素材的Texture Type修改为Sprite(2D and UI) 任务5:主菜单面板 创建 UI->Panel,命名MainMenuPanel, I…
转自:http://www.jianshu.com/p/5b6f5022662e 开发过程中对UGUI的一个小总结. 首先从原画师拿到效果图,美术切图,拿到碎图后打成大图. 我们先来说一下图:RGBA8888:每一个通道占8位.大图:1024*1024.高端    机:2048*2048. 我们通常从美工那里拿来碎图,歪歪使用的一个工具texturepacker 把碎图打成大图,导出成 .tpsheet  .png格式.其次我们要做的是,在Unity3d中导入插件texture import(此…
http://www.cnblogs.com/suoluo/p/5427514.html Text中的可以单独指定某些文字的颜色,只需将想要变色的文本放在<color=**></color>之间即可,如“吃<color=#ff7a38>橙色物品</color>有机会获得<color=red>红色宝石</color>”,同样适用于NGUI. 两张图片,如头像框,头像在背景图之上,头像会挡住背景的点击事件,要实现全框的点击效果,只需要将头…
http://blog.csdn.net/lyh916/article/details/50947026 1.Graphic Raycaster 主要用于UI上的射线检测,挂有这个组件的物体,必须要挂上Canvas这个组件(当挂上Graphic Raycaster时Canvas也会自动挂上). Ignore Reversed Graphics:是否忽略反方向的图形,如果为true,则表示图形正面展示时,会接收到射线检测:反面展示时,不会接收到射线检测:否则,正反面展示都会接收到射线检测 Bloc…
Text中的可以单独指定某些文字的颜色,只需将想要变色的文本放在<color=**></color>之间即可,如“吃<color=#ff7a38>橙色物品</color>有机会获得<color=red>红色宝石</color>”,同样适用于NGUI. 两张图片,如头像框,头像在背景图之上,头像会挡住背景的点击事件,要实现全框的点击效果,只需要将头像作为背景的子物体就可以了.当然头像上不能有Button组件. 自带的CanvasGrou…
原因:老板蛋痛,让我去抄皇室战争. 思路:我大概知道ngui(后来改成UGUI的)里面有个ScrollView.于是我就想一个横着的SV加上5个竖的SV不就好了吗. 过程: 于是 但是有个问题就是UI冲突 我的解决办法就是把5个垂直的SV分别和那个水平的SV的事件同步.代码在我的工程里(我从网上找到的代码,网址忘了,如果有人知道请联系我,我把源地址链接补充上) 另外:特别感谢@ 玄雨,和他的另一种解决方式 http://www.cnblogs.com/coldcode/p/5383412.htm…
在商店看到这样一个例子,表示很有兴趣,他们说是用UGUI做的.我想,像这种可以随便变形的图形,我第一个就想到了网格变形. 做法1: 细心的朋友应该会发现,每个UGUI可见元素,都有一个‘Canvas Render'组件,就跟3D世界模型有'Mesh Render'以及2D Sprite 有’Sprite Render'一样,UGUI的UI元素也需要一个Render渲染出来,那么第一时间想到的就是修改Render的Mesh. 对Mesh操作不熟的可以看这篇文章 private CanvasRend…
UGUI全面实践教程   试读文档下载地址:http://pan.baidu.com/s/1hq3UYGk 介绍:UGUI是Unity官方推出的最新UI系统.本教程为国内唯一的UGUI专向资料.本教程全面讲解UGUI的各项内容,如交互控件.自动布局.特效.Canvas.事件触发等. 目  录 第1章  新UI系统概述 1 1.1  优点 1 1.1.1  创建速度快 1 1.1.2  直观.易于使用 2 1.1.3  效率高效果好 3 1.2  开源 3 1.2.1  开源授权协议--MIT/X…
无意间发现了一个小技巧.如下图所示,可以发现UGUI的Image组件的RaycastTarget勾选以后会消耗一些效率,为了节省效率就不要勾选它了,不仅Image组件Text组件也有这样的问题. 一般UI里也就是按钮才需要接收响应事件,那么大部分image和text是是不需要开RaycastTarget的. 但是问题就来了,Unity默认在hierarchy窗口Create->UI->Image .Text的时候就会自动帮我们勾选上RaycastTarget, 一个复杂点的界面至少也300+个…
继续学习,我相信大家在做NGUI开发的时候处理事件都会用到UIEventListener,那么UGUI中怎么办呢?先看UGUI的事件有那些吧 Supported Events The Eventsystem supports a number of events, and they can be customised further in user custom user written InputModules. The events that are supported by the Sta…
unity3d版本5.3.2p4 UGUI中ScrollView包含Viewport(Content) ScrollView包含脚本.其Movement Type一共3个选项.Elastic就是弹簧效果. viewport含有Mask脚本. Content如果需要实现根据内容自适应高度就要添加Content Size Fitter脚本.脚本里面选择Preferred Size即可. 注:如果Content没有根据内容自适应高度,内容高度大于Content的高度的话 会出现ScrollView滚动…
由于UGUI没有提供类似Scroll View类似的控件,但提供了ScrollRect主机.可以自定义Scroll View 同时提供了Mask组件来遮罩超出Scroll Rect对象的范围, 之所以说有一个坑,是因为如果Scroll Rect对象少了Image组件,Mask就起不来作用,添加后解决…
http://www.2fz1.com/post/unity-ugui-recttransform/ //this.transform.position 获取的是世界坐标,而 this.transform.localPosition 获取的本地坐标,localPosition不受 Anchor 影响//一般我们更常用的是 localPostion ,比如 UGUI中,posX, poxY, poxZ 就是通过 localPosition 设置和获取的.//这两个在新手很容易误用//此外,还有屏幕…
ugui是unity4.6开始加入的一个新的ui系统,非常强大,下面我们将通过一系列博客的方式一起来学习一下ugui的使用.本篇博客会介绍如何使用ugui制作一个游戏菜单,并且了解如何让物体与ugui的控件交互,效果图如下: 首先还是新建一个unity工程,并且新建一个场景,然后新建一个Canvas画布,我们所有的ui控件,都是要建立在Canvas上面的.然后在Canvas下面建立一个button重命名为StartButton,并调节成效果图中的样式.然后再复制两份出来,把他们放置到如效果图的位…
Cavas: 1.Render Model设置为:Screen Space- Camera.如果想在UI前面加特效我可以在创建一个摄像机(UIForward)深度大于这个UICamera就行了. 2.Canvas Scaler: (1)UI Scale Mode :设置Scale With Screen Size 表示以宽度为标准缩放: (2)Reference Resolution设置设计分辨率,美术出图根据这个设置出: (3)Screen Match Mode 选择 Expand 这个就是U…
UGUI的Button组件只有OnClick事件的监听,要实现长按功能,要监听按下事件和抬起事件,所以要使用到EventTrigger组件中的OnPointerDown和OnPointerUp来监听. 为了方便,把EventTrigger中的事件监听都封装起来,我是使用了雨松MOMO写的EventTriggerListener,用起来很方便,地址:http://www.xuanyusong.com/archives/3325 代码: using UnityEngine; using System…
在使用ugui和dotween做动画时,如使用transform.DoMoveX,.DoLocalMoveX,.DoMove,.DoLocalMove等方法时,动画效果有可能是错误的,什么时候错误呢? 在transfrom.localPosition 不等于rectTransform.anchoredPosition时,就会发生错误. 所以这个时候要使用 DOTween.To(() => { return rectTrans.anchoredPosition; }, v => { rectTr…
世界空间中的点坐标转换到屏幕坐标: screenPos = RectTransformUtility.WorldToScreenPoint(cam, worldPos.transform.position); UGUI物体的坐标转换到屏幕坐标: screenPos = RectTransformUtility.WorldToScreenPoint(canvas.worldCamera, uguiObj.transform.position); 屏幕坐标转换到UGUI坐标: Vector3 wor…
前言 项目中有功能需要在代码中动态创建UGUI对象,但是在网上搜索了很久都没有找到类似的教程,最后终于在官方文档中找到了方法,趁着记忆犹新,写下动态创建UGUI的方法,供需要的朋友参考 你将学到什么? 如何设置UI的缩放模式和尺寸 如何添加UI动画效果 如何使用Button的基本响应事件 如何动态创建UGUI对象 一.新建一个Test项目 首先我们新建一个名为Test的项目来实践我们这次的内容,项目创建成功后,我们新建一个Button对象,如下图: 新建Button对象 新的UGUI全部都基于一…
如果ugui button下面挂了一些image或text,而这些image或text的范围超出了button本身的范围,则应将image和text的raycast Target属性的勾选去掉,否则只要点到image或text但没有点到button本身,button仍会被触发.…