角色
角色控制角色的对话。
注意: 角色不控制角色的外观或图像。为此,您可以使用 图像。
公共方法
constructor
name: string | null
- 如果为 null,则为旁白。旁白在对话框中不显示任何名字。config?: DeepPartial<CharacterConfig>
- CharacterConfig
[[Callable]]
character.say
可以作为标签函数使用。
character`Hello, ${Word.color("Alice", "#f00")}!`, // will output "Hello, Alice" with "Alice" in red color
// 等价于
character.say`Hello, ${Word.color("Alice", "#f00")}!`
注意: 使用一些打包工具,如 Webpack,你不能像这样链式调用这个方法:
scene.action([ character`sentence 1` `sentence 2`, // 这会抛出一个错误 ]);
链式方法
say
重载 1 / 4
说一句话。
character
.say("Good morning!")
.say("How are you?")
content: string
- 句子的内容config?: SentenceUserConfig
- SentenceUserConfig
重载 2 / 4
使用自定义句子对象。
character.say(
new Sentence(character, [
"早上好,我是 ",
new Word("Alice", {color: "#f00"}), // 一些单词可以着色
])
) // // 将输出 "早上好,我是 Alice,其中 "Alice" 为红色
注意: 对话的名称将与句子的名称相同。
content: Sentence
- 参见 Sentence
重载 3 / 4
使用字符串和 Word 对象的混合内容。
character.say([
"你好,",
new Word("艾丽斯", {color: "#f00"}), // 一些单词可以着色
]) // 将输出 "你好,艾丽斯",其中 "艾丽斯" 为红色
content: SentencePrompt
- 参见 SentencePromptconfig?: SentenceUserConfig
- SentenceUserConfig
重载 4 / 4
使用 SentencePrompt 的简写形式。
character.say`你好,${Word.color("艾丽斯", "#f00")}!` // 将输出 "你好,艾丽斯",其中 "艾丽斯" 为红色
texts: TemplateStringsArray
- 模板字符串数组...words: SingleWord[]
- SingleWord
setName
设置角色的名称。
character
.setName("艾丽斯(生气)")
.say("你想要什么?")
name: string
- 角色的名称
apply
这是一个 say
的特殊别名。
character`Hello, ${Word.color("Alice", "#f00")}!`;
注意: 使用一些打包工具,如 Webpack,你不能像这样链式调用这个方法:
scene.action([ character`sentence 1` `sentence 2`, ]);
但你可以像这样:
scene.action([ character`sentence 1`.setName("Alice"), ]);
这个方法在角色只说一句话时缩短了代码。
scene.action([
character`Hello, ${Word.color("Alice", "#f00")}!`,
]);
texts: TemplateStringsArray
- 模板字符串数组...words: SingleWord[]
- SingleWord