03 提示字幕
接下来,我们实现下面的自定义提示的效果:
以及,下方显示的对话字幕(包含带有颜色的说话者):
- 首先,新建一个角色,负责显示提示、字幕内容:
- 在造型中添加一个半透明黑色矩形,作为字幕的底部:
- 下面我们要解决的问题是,已知要显示的文字宽度 w,如何计算拉伸倍数?
参考答案:使用下面的积木,可以将角色拉伸到指定宽度:
- 接下来要解决的另一个问题是,已知要显示的文字,如何获取文字宽度,以便设置黑色底的宽度?
一种办法是,使用下面的积木计算文字的宽度:(返回的是角色大小为 100 时的宽度)
可以用下面的积木获取实际宽度:
另一种思路是,负责显示文字的克隆体,记录自己的宽度,然后其他角色再读取这个宽度:
- 解决了上面的问题后,我们就可以开始编写代码:
- 编写下面的自制积木,用于产生一个提示(包括两个克隆体:文字、黑底)
- 生成一个 4 位随机 ID,作为字幕的 ID。
- 编写黑底、文字动作:
- 编写下面的代码:(注:上传数据的广播会在刷新渲染的广播之前执行)
- 最后,我们可以通过 4D 广播,来调用提示:
做成全局积木:
- 最后的最后,为了避免下面这样提示堆叠的情况,可以添加下面的代码,新来的提示顶掉之前的提示:
这样,我们就完成了提示字幕的制作!
此外,还有下面的对话字幕,做法类似,这里就不再详细介绍,可以参考本课的最终代码。
注:这部分代码比较复杂凌乱,不理解代码也没关系,直接使用相应的全局积木就行。
上一节:02 信息显示
下一节:04 按 [E] 交互
<iframe
width="100%"
height="800px"
scrolling="no"
src="https://www.ccw.site/embed?id=STG303/Arkos/Lec4/04&type=comment"
title="{射击课高级篇-第四课-04}"
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowFullScreen
scrolling="0"
></iframe>
本页索引