ugui

UGUI:窗口限制以及窗口缩放

匿名 (未验证) 提交于 2019-12-03 00:09:02
本文原创首发于以下网站: 博客园『优梦创客』的空间:https://www.cnblogs.com/raymondking123 优梦创客的官方博客:https://91make.top 优梦创客的游戏讲堂:https://91make.ke.qq.com 『优梦创客』的微信公众号:umaketop 您可以自由转载,但必须加入完整的版权声明 public class Scene : MonoBehaviour , IDragHandler , IPointerDownHandler { public RectTransform RtTransform ; public RectTransform RTParent ; Vector2 downpos ; Vector2 newpos ; public void OnPointerDown ( PointerEventData eventData ) { RectTransformUtility . ScreenPointToLocalPointInRectangle ( RtTransform , eventData . position , eventData . pressEventCamera , out downpos ); //print(downpos); } public void OnDrag (

Unity的UGUI在SetParent后修改UI的localposition问题

匿名 (未验证) 提交于 2019-12-02 23:57:01
正常情况下,UGUI设置UI的localposition可以直接赋值 UIxxx . rectTransform . localPosition = new Vector3 ( lineLenght [ 0 ] / 2f , 0 , 0 ); 运行后在Unity的Inspector面板可以得到正确的()。 但如果 UIxxx . rectTransform . SetParent ( GameObx ]); UIxxx . rectTransform . localPosition = new Vector3 ( lineLenght [ 0 ] / 2f , 0 , 0 ); 运行后得到的坐标值是错误的。 正确的做法: UIxxx . rectTransform . SetParent ( GameObx ]); UIxxx . rectTransform . anchoredPosition = new Vector3 ( lineLenght [ 0 ] / 2f , 0 , 0 ); 通过设置锚点的坐标来设置UI的position。 运行后,在Inspector面板下可以看到正确的Rect Transform。 来源:博客园 作者: Afuness 链接:https://www.cnblogs.com/Afuness/p/11442545.html

Unity 屏幕坐标到UGUI RectTransform本地坐标的转换

匿名 (未验证) 提交于 2019-12-02 23:47:01
public static bool ScreenPointToLocalPointInRectangle(RectTransform rect, Vector2 screenPoint, Camera cam, out Vector2 localPoint); rect: 对应的 RectTransform 的引用 screenPoint: 位置,基于屏幕坐标系 cam: 相机的引用,如果Canvas的Render Mode 为 Screen Space - Camera 模式,则需要填入 Render Camera 对应的引用 localPoint: rect 本地坐标系下的坐标(原点(0,0)位置受Anchor的影响) 参考: https://docs.unity3d.com/ScriptReference/RectTransformUtility.ScreenPointToLocalPointInRectangle.html using UnityEngine; using UnityEngine.UI; using System.Collections; using UnityEngine.EventSystems; public class GlobalTest : MonoBehaviour { public Canvas canvas; Text uiText;

Unity的学习笔记(UGUI文本逐个字输出)

匿名 (未验证) 提交于 2019-12-02 23:43:01
之前在网上找过各种的逐个输出字,我可能理解能力不好,照着代码复制没有能使用成功,于是自己研究了很多网上说的思路,各种改良出了一个能用的,写完自己测试,觉得还真好用,于是记录下来 用法:将用代码组件挂上去,通过查找到代码组件,通过enabled来控制组件开关,每次更新文字时候,让组件进行一次关闭和开启,就能再次逐个显示 using UnityEngine; using System.Collections; using UnityEngine.UI; public class WordOutPut : MonoBehaviour { public float charsPerSecond = 0.05f;//打字时间间隔 private string words;//保存需要显示的文字 private bool isActive = false; //判断是否开始输出 private float timer;//计时器 private Text myText;//获取身上的test脚本 private int currentPos = 0;//当前打字位置 // Use this for initialization private void OnDisable() { OnFinish();//当脚本在失活的时候,将数据进行重置 }   /// <summary>   ///

为Unity的新版ugui的Prefab生成预览图

匿名 (未验证) 提交于 2019-12-02 23:43:01
using UnityEngine; using System.Collections; using UnityEditor; using System.IO; [CustomPreview(typeof(GameObject))] public class UIPreview : ObjectPreview { Texture preview; const string cachePreviewPath = "CachePreviews"; public override bool HasPreviewGUI() { return true; } public override void OnPreviewGUI(Rect r, GUIStyle background) { base.OnPreviewGUI(r, background); if (target == null) return; var targetGameObject = target as GameObject; if (targetGameObject == null) return; GUI.Label(r, target.name + " is being previewed"); preview = AssetPreview.GetAssetPreview(target); if (preview =

UGUI

匿名 (未验证) 提交于 2019-12-02 23:39:01
UGUI是unity中自带的UI软件 如何创建UI? 1.在层级视图上-Create-UI-Image图片 2.选中图片,在检视视图上选择Image组件,属性如下: source Image:图片来源 Color:颜色 Material:材质 Image Type:图片类型 Set Native Size:设置图片为原来大小 (1)如何改图片格式: 选中图片,在检视视图上,Texture Type-Sprite(2D and UI)-Apply 3.如何实现屏幕适配? 已背景为例 选中Image,在场景视图中有锚点(花瓣),拉动锚点到画布的四个边上, 这时在检视视图上-rect Transform-Left左设置为0,Bottom底设置为0即可, 这时背景图片占满整个画布 4.Text文本: Font :字体 Font Style:字体样式 Normal;无样式 Bold:加粗 Italic:倾斜 Bold and Italic:加粗并倾斜 Font Size:字体大小 Line Spacing:行间距 Alignment:对齐方式 Horizontal Overflow:水平溢出 Vertical Overflow:垂直溢出 Color:字体颜色 Input Filed输入框 在输入框里有Placeholder是提示输入的,Text是将输入的内容存放在里面

Unity实现基于UGUI的简易UI框架

匿名 (未验证) 提交于 2019-12-02 22:56:40
Unity实现基于UGUI的简易UI框架 什么是UI框架? UI框架中的 UIManager 管理场景中所有的面板, 控制面板之间的跳转. 本Demo实现以下功能: 关闭当前页面 显示新的页面 叠加显示 关闭当前页面并显示 关闭所有页面并显示 安卓返回键响应 返回上一个页面 退出程序 设计UI页面 先搭建好所有的UI界面, 并保存为prefab 通过Json和枚举保存所有面板的信息 json : json用于描述资料结构,有两种结构存在: 对象 (object):一个对象包含一系列非排序的名称/值对(pair),一个对象以 { 开始,并以 } 结束。每个名称/值对之间使用 : 分区。 数组 (array):一个数组是一个值(value)的集合,一个数组以 [ 开始,并以 ] 结束。数组成员之间使用 , 分区。数组成员具体的格式如下: 名称/值(pair):名称和值之间使用 : 隔开,一般的形式是: {name:value} UIPanelType.json : 保存这个工程所有的UI面板类型及其相应的prefab的路径, 此时主要该文件和prefab文件都需要位于 Resources 文件夹路径下 { "infoList": [ {"panelTypeString":"ALERT_PANEL", "path":"AlertPanel"}, {"panelTypeString":

UGUI 网格布局组(Grid Layout Group)

那年仲夏 提交于 2019-12-02 15:04:21
之所以讲解网格布局组,是因为网格布局组比水平布局组和垂直布局组都要强大,个人认为在实际开发过程中只要掌握住网格布局组就可以满足实际开发需要 这个网格布局组,功能上类似于NGUI的Grid和Table组件,说到NGUI的Grid和table这两个组件,个人建议使用table组件,功能强大,使用方便 下面开始做一个案例 首先设置一下屏幕的尺寸以及设置一下屏幕自适应 解决办法是添加一个content size filter组件 可以调整Grid的位置,用于确定滚动视图的初始运行位置 就这么简单! FR:海涛高软 (QQ群:386476712) 来源: CSDN 作者: 海涛高软 链接: https://blog.csdn.net/qq_15267341/article/details/52248944

Unity3D UGUI自制ScrollView滑动栏 - FScrollPage

无人久伴 提交于 2019-12-02 13:16:25
说明 由于Unity自带的Scroll View控件不能灵活的满足自己实际开发,因此想到自己制作一个滑动展示页面,且该控件不依赖Unity的其他UI控件,但该控件存在局限性,仅供参考 该篇文章着重介绍原理和结构,不会过多讨论代码的编写,需要查看源码可以访问一下地址 - FScrollPage源码地址 实际效果预览: 结构设计 该控件滑动周期由三个部分组成 : 1 滑动时 : 随触摸点(或鼠标)滑动 2 退出滑动时 : 滑动衰减 3 滑动结束时 : 位置校正 滑动展示栏由一个控制器和多个滑块组成,使用时需要设置控制器的参数配置,内部的滑动item需要有FScrollItem组件或者继承自FScrollItem的组件,其中FScrollItem开放了点击和被选中事件,可以在两个接口中写自定义逻辑。 滑动控制器 – FScrollPage 滑动对象 – FScrollItem FScrollPage 滑动控制器FScrollPage 负责整理FScrollitem的位置和大小,用户触摸交互,监听滑动事件,执行滑动特效以及传递选中事件给子物体FScrollitem。 考虑到易用性,在FScrollPage的初始化分为两种,第一种是自动检查指定节点下的子对象进行标记id和排序整理m默认选中第一个被标记的item,第二种方式是传递一个map FScrollItem

SIKI_Unity_3_进阶_UGUI整体解决方案(基础篇)

故事扮演 提交于 2019-12-01 09:54:36
UGUI整体解决方案(基础篇) 课程目录:   基础组件的讲解   每种组件的示例   扩展UGUI组件   图文混排 (Text Mesh Pro)   富文本   UGUI图表 (柱状图等)   多语言解决方案   UI优化 参考博文:https://blog.csdn.net/zcaixzy5211314/article/details/86515168 基础组件讲解: 任务3: RectTransform组件 RectTransform组件是UI相关游戏物体的必须组件,不可移除 RectTransform组件的基础属性:   Position/Width/ Height单位为像素   Anchors锚点   Pivot中心点: Position的位置信息是根据Pivot位置来计算的 在 Debug 模式下Inspector面板显示的RectTransform组件的属性更全面   比如LocalPosition/ SizeDelta等 来源: https://www.cnblogs.com/FudgeBear/p/11677019.html