虚幻4UMG控件实用技巧
主要内容
如何快速做出UI框架?
几个实用的小控件
虚幻4中界面的制作,有两种方式,稍微复杂的是HUD,简单一点的是UMG(User Widget)
HUD和UMG都可以制作简单的显示,按钮之类的,我觉得HUD更适合制作小地图和其它复杂一点的,HUD跟材质结合的比较密切。如果是简单点的UI,UMG就可以了,操作方便,属性绑定也快。
值得一提的是使用蓝图制作UI比用C++实现方便的多
下面这种五分钟不需要调试直接出来(仅仅是界面,不包括任何程序)
UMG的控件具体使用官方文档已经很详细了不多说
如何快速做出UI框架?
如果有用其它软件做UI的经验,那么你很快就能掌握布局的技巧
虚幻4提供了很多布局的控件,只使用两个控件基本上能做出大多数固定的控件了,两个控件:水平box和垂直box
只需要嵌套就足矣,哪怕用C++写原理也是嵌套,各种功能的盒子装进盒子,
关键属性在于插槽里面的Padding(内边距),Size,以及水平和垂直的居中/拉伸
上面几个东西搞懂了,以后学什么QT啊,Tkinter啊,Css啊都可以很快掌握,当然反过来也是一样。至于具体怎么布局还是要自己多练习
几个实用的小控件
第一个:WidgetSwitcher
作用类似于翻页,设置ActiveWidgetIndex即可
比如我们做一个简单的样例
第二个:Scroll Box(滚动框)
竖直水平滚动都可以,你甚至可以在水平滚动框中嵌入几个竖直滚动
最后一个:Uniform Grid Panel(均匀网格)
这个比较适合做背包,商店一类,当然如果你要做拖放的背包也可以实现,时间有限,我可能在后面进行补充,也可以做出我的世界移动端那种按住计数再转移的背包
两个关键设置
childlayout子布局设置格子的内边距(你放进去的控件是在这个格子里面,所以是内边距)
放进去的控件会多出来一个row和column,控制第几行第几列
还有几个就懒得说了,这些都是旁枝末节,理解了原理,其实都一样
至于控件的创建,属性的绑定,官方文档也已经给出了准确的答案。
UI与程序分离
这里的界面指的是用蓝图写的或者用程序写的界面,程序指的是游戏逻辑,比如说制作一个血条,
血条的作用是根据0-1的浮点数显示一个百分比(界面)
这个百分数=当前血量/最大血量(逻辑)
那么就应该把计算过程放到角色类中,哪怕这个过程很简单
(很zz的一个例子。。)但是如果你不注意这个问题,属性和控件数量都比较多的时候就很麻烦
其实就是遵循面向对象程序设计思路,当然每个界面也可能有自己的逻辑,比如增删查改,拖放啊之类的
结语
在游戏开始之前设计好UI很简单,但是游戏内UI通常都在不断改变,最常见的例子就是背包,增添物品,丢弃物品,有的物品有数量,有的没有,还有背包与“仓库”物品的交换,这些操作相对复杂,不要着急,后面我将会用一个RPG游戏告诉大家,如何把游戏逻辑和界面结合起来
虚幻4UMG控件实用技巧相关推荐
- MFC第一课 控件使用技巧
MFC控件使用技巧:Static Text 1)单独设置某个静态文本控件的属性: 颜色,字体大小 解决方案:需要指定一个独特的ID,默认情况下,所有的 静态文本框的ID是一致的 2)设置按钮的文本的时 ...
- Powerbuilder中Kodak图像扫描控件应用技巧
Powerbuilder中Kodak图像扫描控件应用技巧 作者:佚名 减小字体 增大字体 摘 要 Powerbuilder中对Kodak图像扫描控件应用的技巧,主要是对扫描出来的图像进行文件头修 ...
- DataGrid 控件使用技巧集合
datagrid控件使用技巧大集合 引用自:http://www.cnblogs.com/iCeSnaker/archive/2004/07/31/29017.aspx 1.DataGrid的正反双向 ...
- WebBrowser控件使用技巧分享
原文地址为: WebBrowser控件使用技巧分享 在发布"淘宝登货员"时发现不少朋友对WebBrowser控件比较感兴趣,故在此分享一下使用心得. 首先分享一个WebBrowse ...
- Qt设计器中,使用QToolBar控件的技巧
一.问题描述 Qt4.0中的设计器,并没有集成QToolBar这个控件.(5.0出alpha了,不知道怎么样) QMainWindow可以生成QToolBar对象,但是在使用上受到很大限制.也没法布局 ...
- 手把手教你BCGControlBar MFC界面控件“起航”技巧(文章转载自:慧都控件网)
BCGControlBar是全球最大的MFC控件套包,由微软指定合作控件开发商BCGSoft公司开发,主要用于构建类似Microsoft® Office 2000/XP/2003/2007/2010. ...
- word控件应用技巧:线上试卷制作小妙招
一.自动实时更新时间:方便后期归纳整理 操作步骤: ①点击[开发工具]-[控件]按钮,选择[日期选取器内容控件],插入日期内容控件.此时,我们可以看到文档中出现了一个日历框.点击控件的右侧的下拉按钮, ...
- datagrid控件使用技巧大集合
引用自:http://www.cnblogs.com/iCeSnaker/archive/2004/07/31/29017.aspx 1.DataGrid的正反双向排序 http://dev.csdn ...
- CListCtrl控件使用技巧
这几天处理单文档中CListCtrl控件,找了不少资料.最后得到以下的使用技巧,记录下来,方便后面用得到.当然可能有不正确的地方,请大家指出. 问题一:修改网格的高度 方法1:直接在OnInitDia ...
最新文章
- java bio_Java BIO及实现
- 「AI白身境」搞计算机视觉必备的OpenCV入门基础
- matlab未定义函数lp,matlab未定义函数或变量(附上源代码)
- opencv 一堆算法,图像处理等
- 20155226 2016-2017-2 《Java程序设计》第一周学习总结
- vue.js框架:数组的各种变异方法
- linux ftp用户指定多个目录,linux ftp服务器下用户限制目录的方法
- Linux命令行下感叹号的几个用法
- CentOS7下解决yum install mysql-server没有可用包的问题
- NYOJ469(动态规划)
- 通用管理系统概要设计说明书
- Unix/Linux中/usr目录的由来
- mysql只有frm_MySQL只有.frm和.ibd文件如何批量恢复InnoDB表-爱可生
- 【阿里云】阿里云跨账号内网互通
- Kibana查询语言(KQL)AND、OR匹配,模糊匹配
- 基于FPGA平台RISCV架构的SOC应用系统设计1
- 微信小程序如何获取用户昵称性别地区等信息
- STM32F429的LCD-TFT模块 资料整理
- 流行发型--空间修剪+立体空间烫
- true在python是什么意思_Python3中真真假假True、False、None等含义是什么
热门文章
- 动态获取本地json文件,渲染为表格-前端html+css+javascript,nth-child选择器,实时浏览插件,vscode,ajax
- Python多态的两种实现形式
- 使命召唤ol服务器不稳定,使命召唤OL太卡怎么办_使命召唤OL延迟丢包问题_快吧游戏...
- js数组去重(区分object、“NaN”、NaN)
- 小米使用计算机计算sin30,小米手机计算器sin30度怎么不等于0?
- 解决当APP退到后台,在由桌面点击图标时,APP重新创建,不会回到退出时活动的问题
- python花数_python交换数字a b怎么用python画花朵
- Java中实现删除左侧空格ltrim和删除右侧空格rtrim
- 萌妖出没服务器维护电视版,萌妖出没游戏完整版
- 买android手机,买Android手机理由:iPhone 6竟无言以对