欢迎光临散文网 会员登陆 & 注册

钢铁雄心4 GUI教程 P5进度条

2023-02-07 01:50 作者:iWagination  | 我要投稿

前几p主要介绍的是交互型界面,这一次包括后续的将会介绍gui的另一大应用,即描述数值(通常是某一个变量)的变化情况,其中进度条是一大应用,这一期将会详细介绍伪进度条进度条的工作原理

首先来看一下伪进度条,为什么说是“伪”进度条呢,因为它实现进度增长的实质是切换帧显示,在制作一些较为简单的变量变化时很好用

素材准备:

原版美国国会苏联偏执度为例子,先来看一下它俩的图片素材吧:

首先是美国国会

可以看见它本质是一个多帧长图,通过切换帧显示模拟进度变化

alpha通道则让它能显示出半圆形的形状

注:dds文件中,alpha通道可以存储图像的“透明度”,游戏的渲染文件会根据alpha通道进行渲染,当alpha为黑色,即完全透明,这部分的rgb内容不会显示白色则非透明,rbg内容完全显示

然后是苏联偏执度

可以看见原理都是类似的

前端设计

由于可以直接参考原版就直接略过

后端编写

先前介绍过,通过变量计算转换为帧数切换帧实现进度条增长/减少

好的那么本期教程到此结束

没有那么简单,让我们做一个设想,如果我们需要一个精确1%的数值变化应该怎么处理,显然伪进度条已经不能满足需求了,因为如果继续使用伪进度条意味着制作100帧的进度条长图,这显然是反人类的

接下来将介绍真·进度条

素材准备

比较反常,在介绍素材之前我们需要引入一个新的图像注册格式

原版游戏自带的进度条着色器可以帮助我们完成进度条图像的注册,它的工作原理是,设定背景图像(空的进度条)与填充图像(填满的进度条),根据frame实时渲染

由于在scripted gui中,后端编写可以令frame为某个我们设置的变量,因此可以实现精确至变量值,从而让游戏渲染生成一个进度条

color/colortwo为纯色填充,四个数据分别为R G B alpha,每个值最大为1最小为0

steps为填充步数,决定多少帧时进度条被完全覆盖,默认值100(即frame = 100 时进度条被填充满)

了解这些后我们就可以准备我们需要的图像了

特别简单,只需要两份图像,一份未填充,一份填充满

前端设计

进度条通常用于决议gui,因此我们设计简单一点,没有背景,只有一个进度条,一个显示数值的文本框

后端编写

依旧从简,窗口类型改为决议窗口,将进度条帧数设置为我们定义的变量

同时在决议类型里引用我们的窗口

然后通过决议设置flag配合on action,令我们的变量每日

最后进入游戏测试:

好的这期教程到此结束…………

才怪!如果你真的只把“进度条”作为进度条使用,那可能你制作的GUI只能停留在原版基础

想要制作出“炫酷”的GUI,我们需要理解深层次的东西,progressbartype(进度条类图像),它本质是一种游戏中实时的图像渲染将A图像,填充成B图像

不只可以用作进度条,它可以用作展示任意两张图像交替时的效果变化

以下以TNO对于进度条的使用为例

为什么又是TNO?

因为它带来的改革不只是“阴间ui”,还有许多令你瞠目结舌的奇思妙想

SAMPLE 1

图标代替传统条形进度条

游戏内效果:

SAMPLE 2

利用进度条实现图像变更的效果:

素材准备

注,中间的分界条单独做一个icon

前端设计

后端编写

注,此处将分界条的x坐标properties关联变量,以此模拟分界条的移动

游戏测试

又一个项目完结了,相信你的gui制作水平应该蒸蒸日上了,那么敬请期待更多花哨的GUI讲解吧!

钢铁雄心4 GUI教程 P5进度条的评论 (共 条)

分享到微博请遵守国家法律