UMG - 10:旋转输入框用以接收数字。单行输入文本框,蓝图函数 Switch on ETextCommit,文本框(多行),可编辑文本,以及 可编辑文本(多行)。

(49)旋转输入框 ,在 QT 里也有类似的组件,用于输入数字的

在这里插入图片描述

++一些属性

在这里插入图片描述

++事件

在这里插入图片描述

(50) 文本框

在这里插入图片描述

++ 文本框的事件。文本框很常用,各种编程语言里都有,不详细记录了

在这里插入图片描述

(51)学习蓝图函数 Switch on ETextCommit

在这里插入图片描述

(52) 文本框 ( 多行 )

在这里插入图片描述

(53) 这俩跟前面的也很类似。只是属性少了一点,老师说可以放到其它容器里来使用,比如边界

在这里插入图片描述

(54)

谢谢

在 Unreal Engine 中实现多行文本框输入表情的功能,需要结合 UI 控件、文本处理以及表情图像的插入机制。以下是一个具体的实现思路和技术路径: ### 3.1 使用 UMG 创建多行文本框 Unreal Engine 提供了 **Multi Line Editable Text** 控件,支持多行文本输入与编辑。可以在 UMG 蓝图中拖入该控件,并绑定到一个 `FText` 或 `FString` 类型的变量,用于接收用户的输入内容。 ### 3.2 表情符号的插入方式 实现表情输入通常有以下几种方式: - **文本替换机制**:用户输入特定符号(如 `:smile:`),程序将其替换为表情图像或 Unicode 表情字符(如 😊)[^1]。 - **按钮触发插入**:在 UI 中添加表情选择面板,点击表情按钮后将对应的表情符号插入到当前光标位置[^1]。 - **富文本支持**:使用 `Slate` 或第三方插件(如 `RichTextBlock`)支持图像与文本混合显示。 ### 3.3 实现步骤示例(基于文本替换) 1. 在 UMG 中添加一个 **Multi Line Editable Text** 控件。 2. 创建一个表情符号映射表(TMap<FString, FString>),例如: ```cpp { {":smile:", "😊"}, {":heart:", "❤️"}, {":angry:", "😠"} } ``` 3. 在文本框内容变化时,监听 `OnTextChanged` 事件。 4. 遍历当前文本内容,将匹配的表情关键词替换为对应的 Unicode 表情字符。 5. 更新文本框内容以显示表情。 ### 3.4 表情面板实现(按钮点击插入) 1. 在 UI 中添加一个垂直或水平排列的表情按钮面板。 2. 每个按钮绑定一个点击事件,执行插入表情的操作。 3. 获取当前文本框光标位置,使用 `InsertTextAtCursor` 方法将表情插入到正确位置。 ### 3.5 示例代码(C++) ```cpp void UMyUserWidget::InsertEmoji(const FString& Emoji) { if (MultiLineEditableText) { MultiLineEditableText->InsertTextAtCursor(Emoji); } } ``` ### 3.6 支持图像表情(进阶) 若需在文本中插入图像表情,可借助 `RichTextBlock` 与 `ImageDecorator` 实现: 1. 使用 `RichTextBlock` 替代普通文本框。 2. 添加自定义装饰器(`EmojiDecorator`),识别特定标记(如 `[emoji=smile]`)并渲染为图像。 3. 在输入时将表情符号转换为标记格式插入文本流。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhangzhangkeji

谢谢支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值