controller# UTipsController

用于控制 tips 相关的的控制器, 例如控制提示框淡入淡出, 以及消息的显示等等

Constructor

new UTipsController(live2d, dataopt)

tips 控制器类

创建 live2d tips 控制器

Parameters:
NameTypeAttributesDefaultDescription
live2dULive2dController

live2d 上下文

dataDTips | null<optional>
null

tips 数据

Extends

Members

(protected) _data :DTips

tips 数据

提示数据集合, 用于存储提示数据, 以及消息数据

Type:

(protected, nullable) _hiddenId :number

隐藏定时器 id

在提示框隐藏期间的定时器 id

Type:
  • number
Default Value
  • null

(protected) _live2d :ULive2dController

live2d 上下文

live2d 数据选项控制器

(protected) _messages :Array.<DMessage>

消息数据集

消息数据集合, 用于存储消息数据, 包括但不限于 DMessage

Type:
Default Value
  • []

(protected, nullable) _showId :number

显示定时器 id

在提示框显示期间的定时器 id

Type:
  • number
Default Value
  • null

(protected) _stop :boolean

停止提示框循环

是否停止 tips 的淡入淡出循环, 如果需要停止的话则需要等待淡出之后才会生效

Type:
  • boolean
Default Value
  • false

(protected) _text :string

消息文本

在提示框显示时期需要显示的文本

Type:
  • string
Default Value
  • ''

(protected) _tips :HTMLElement

提示框元素

stage 中的消息提示框元素

Type:
  • HTMLElement

(readonly) app :TApplication

Application 实例

getter: Application 实例

(readonly) data :DTips

tips 数据

getter: 消息提示数据

Type:

(readonly) duration :number

显示时的持续时间

getter: 提示框显示时的持续时间, 单位 ms

Type:
  • number

(readonly) event :EventEmitter

event 实例

getter: EventEmitter3 实例

Type:
  • EventEmitter

(readonly) interval :number

隐藏时的持续时间

getter: 提示框隐藏时的持续时间, 单位 ms

Type:
  • number

(readonly) live2d :ULive2dController

live2d 上下文

getter: live2d 上下文

(readonly) live2dData :DLive2dOptions

live2d 数据

getter: live2d 原始数据

(readonly) messages :Array.<DMessage>

消息数据集

getter: 所有消息提示数据集合

Type:

(readonly) ref :Record.<string, any>

对象引用

getter: 以键值对进行记录的对象引用

Type:
  • Record.<string, any>

(readonly) stop :boolean

停止提示框循环

getter: 是否停止 tips 的淡入淡出循环, 如果需要停止的话则需要等待淡出之后才会生效

Type:
  • boolean

(readonly) text :string

提示框文本

getter: 提示框显示时期的文本值

Type:
  • string

Methods

addMessage(…messages) → {UTipsController}

添加消息

将消息集添加到消息列表中

通常这并不会立即显示, 而是等待下一轮提示框显示时根据一定概率随机抽取消息进行显示

Parameters:
NameTypeAttributesDescription
messagesDMessage<repeatable>

消息集

Returns:

自身引用

Type: 
UTipsController

destroy()

销毁控制器

移除绑定事件, 停止淡入淡出, 以及销毁消息集合

(async) fadeIn(inheritopt) → {Promise.<void>}

提示框淡入

开始淡入提示框, 淡入完成后等待一段时间执行淡出

如果 inherit = true, 则继承原有的时间, 否则重新开始计时

如果消息集合为空, 则会一直循环等待消息的添加, 而循环时长为隐藏时长

Parameters:
NameTypeAttributesDefaultDescription
inheritboolean<optional>
false

继承原有时间

Returns:
Type: 
Promise.<void>

(async) fadeOut(inheritopt) → {Promise.<void>}

提示框淡出

开始淡出提示框, 淡出完成后等待一段时间执行淡入

如果 inherit = true, 则继承原有的时间, 否则重新开始计时

Parameters:
NameTypeAttributesDefaultDescription
inheritboolean<optional>
fale

继承原有时间

Returns:
Type: 
Promise.<void>

getRandomMessage() → {string}

随机获取消息

从消息列表中安装一定概率随机获取消息

Returns:

消息文本

Type: 
string

init()

初始化tips控制器

初始化 tips 控制器, 并开始提示框的淡入淡出

(async) notify(text)

通知消息

立即淡入提示框显示对应的消息, 并且重置提示框显示时长, 完成后从消息集合中移除对应的消息

Parameters:
NameTypeDescription
textstring

需要显示的文本

removeMessage(…message) → {UTipsController}

移除消息

从消息列表中移除对应的消息

Parameters:
NameTypeAttributesDescription
messageDMessage<repeatable>

消息集

Returns:

自身引用

Type: 
UTipsController

startFade()

结束淡入淡出

开始进行淡入, 并将 stop = false, 之后恢复淡入淡出循环

stopFade()

结束淡入淡出

立即进行淡出, 并将 stop = true, 淡出完成后停止淡入淡出