UG4L24——动效
UG4L24——动效 本章代码关键字 12345678910gComponent.GetTransition() //获取组件上的动效Transition //动效类transition.Play() //播放动效,可以设置播放结束委托,播放次数与延迟,播放范围transition.SetPaused() //设置是否暂停transition.PlayReverse() //倒着播放动效transition.Stop() //停止播放动效transition.SetValue() //设置动效某个关键帧的帧数据transition.SetDuration() //设置动效的某个关键帧后的Tween的持续时间transition.ignoreEngineTimeScale ...
UG4L23——曲面UI
UG4L23——曲面UI 曲面UI 曲面UI指的就是想把UI界面显示在一个3D物体上 作为一个3D物体的贴图看,一般在VR、AR开发中常用 添加对应层 当使用曲面UI时,需要用到捕获UI成纹理的功能,所以需要定义VUI、Hidden VUI这两个Layer,否则会出现警告 这两个Layer可以随便定义到没使用的层序号,但要注意所有相机的Culling Mask都不选择这两个层 制作曲面UI 将制作好的3D模型,以曲面为例放入场景中 在模型上挂载一个UIPainter组件,这时会自动添加Mesh Collider和Mesh Renderer组件 像类似UIPanel一样在UIPainter上设置包名和组件名 发现曲面不是透明的,因此需要添加FairyGUI的ImageShader的材质球 最终得到的曲面的UI图像 UIPainter参数相关 Package Name:包名 Component Name:要显示的组件的名字 Sorting...
UG4L22——弹出功能
UG4L22——弹出功能 本章代码关键字 123456789GRoot.inst.ShowPopup() //弹出组件,该组件点击空白处时会隐藏GRoot.inst.HidePopup() //隐藏弹出的组件gObject.onRemovedFromStage.Add() //当弹出的组件关闭时会执行的委托PopupMenu //弹出菜单new PopupMenu() //如果不传入参数就默认使用全局资源弹出菜单,如果需要使用特定的资源需要传入该资源的URLUIConfig.popupMenu //默认的弹出菜单资源popupMenu.AddItem() //为弹出菜单添加选项及其监听函数,返回监听按钮popupMenu.Show() //显示弹出菜单popupMenu.SetItemGrayed() ...
UG4L21——窗口
UG4L21——窗口 本章代码关键字 12345678910111213141516171819Window //窗口类,该类可以继承,以封装窗口的逻辑window.Show() //显示窗口window.contentPane //设置窗口对应的组件window.Hide() //隐藏窗口window.isShowing //窗口是否在显示window.modal //设置窗口是否为模态窗口window.ShowModalWait() //锁定窗口window.CloseModalWait() //解除窗口的锁定OnInit() //窗口对象被实例化出来时执行的方法OnShown() ...
UG4L20——树
UG4L20——树 本章代码关键字 12345678GTree //FairyGUI的树类gTree.rootNode //获取树的根节点,该节点在面板上不可见,只有往该节点添加节点才能将内容显示在面板上GTreeNode //树的节点类gRootNode.AddChild() //向节点添加节点gTreeNode.cell //获取节点对应的组件,可以修改组件内容,仅限于根节点下的子节点,并且是要AddChild过后才能改,不建议使用这种方式gTree.treeNodeRender //当树的TreeNode需要更新时的回调委托,建议使用这种方式去进行树结构中内容的初始化gTree.onClickItem.Add() //当点击一个子节点 会调用该委托函数gTree.treeNodeWillExpand ...
UG4L19——多国语言
UG4L19——多国语言 本章代码关键字 12XML //这是FairyGUI自带的XML类,可以读取多国语言相关的XML文本UIPackage.SetStringsSource() //加载语言文件,传入多国语言的XML对象,让接下来显示出来的文字元件按照语言文件上规定的显示 FairyGUI的多国语言解决方案 先拼界面,再翻译,把界面上的所有文字导出到一个文件,然后把这个文件提交翻译,运行时动态载入翻译好的文件 生成语言文件 菜单栏 ——> 工具 ——>...
UG4L18——分支
UG4L18——分支 本章代码关键字 1UIPackage.branch //修改FGUI显示的分支 分支功能 分支功能用于实现项目的多态设计,例如多国语言版本下UI的差别,又例如多个渠道版本下UI的差别 FairyGUI中提供了分支方案,帮助我们快捷的解决这些问题 FGUI中分支的机制 分支的用途是对主干进行部分修改,我们都是首先在主干上开发,然后在项目的任何阶段,都可以建立任意多个分支 注意:它和代码仓库中的分支概念不一样。UI分支不包含主干的资源,它只放置与主干有差别的内容 这种机制不但作用于图片,也同样作用于组件和字体等所有类型资源 创建分支 文件——>项目设置——>项目分支——>点击加号创建分支(建议用英文名) 创建完成后,在工程文件夹下会多出一个 assets_分支名 的资源文件夹 菜单的工具栏可以进行分支切换 在这里切换分支 在工具栏切换到对应分支,然后在你想要创建的包上点击右键,选择创建分支 创建完成后,在 assets_分支名...
UG4L17——DrawCall优化
UG4L17——DrawCall优化 本章代码关键字 12gComponent.fairyBatching //开启组件的深度调整以降低该面板的DrawCallgObject.InvalidateBatchingState() //手动触发深度调整,改变子元件及其子元件的位置、大小,旋转或缩放,并不会自动触发深度调整,因此需要手动触发 DrawCall 具体DrawCall是什么,参见:DrawCall 简单回顾DrawCall: DC就是CPU通知GPU进行一次渲染的命令,如果DC次数较多会导致游戏卡顿 我们可以通过打图集,将小图合并成大图,将本应n次的DC变成1次DC来提高性能 FairyGUI 和 UGUI 以及 NGUI 的 DrawCall...
UG4L16——插入模型、粒子、Canvas
UG4L16——插入模型、粒子、Canvas 本章代码关键字 1234GoWarpper //游戏对象包装器,通过该对象可以将某个Unity3D对象包装显示在一个空白图形上goWrapper.CacheRenderers() //更新包装对象的显示,当被GoWarpper包装的游戏对象变化时,需要调用该方法来更新其在UI上的显示goWrapper.wrapTarget //设置包装对象,可以更换显示的模型或者例子,更换时如果要释放旧对象,需要自己手动销毁goWrapper.SetWrapTarget() //设置包装对象,可以更换显示的模型或者例子,第二个参数可以设置是否复制材质,更换时如果要释放旧对象,需要自己手动销毁 UI中插入3D对象或者粒子 注意:这种方法的缺点是在 UI 摄像机下 3D 对象没有透视,如果想要有透视,可以使用 Render Texture 的方式 可以参考:UG3L15——模型和粒子显示在UI之前,Render Texture 创建3D对象 ...
UG4L15——拖拽相关
UG4L15——拖拽相关 本章代码关键字 12345gObject.draggable //将对象的拖曳功能打开gObject.onDragStart.Add() //对象开始拖动监听事件gObject.onDragMove.Add() //对象拖动中监听事件gObject.onDragEnd.Add() //对象拖动结束监听事件gObject.dragBounds //限制对象的拖动范围 现有知识实现拖拽 利用onTouchBegin、onTouchEnd、onTouchMove事件可以完成拖拽功能 FGUI中的自由拖拽功能 获取对象设置 draggable 属性为 true 即可拖拽 注意:拖动只能在元件父组件内移动 123//显示面板TeachPanel panel = UIManager.Instance.ShowPanel<TeachPanel>("teach");panel.m_btnTest.draggable =...