controller# UStageController

用于控制 stage 相关的的控制器, 例如控制元素淡入淡出等等

Constructor

new UStageController(live2d, selectoropt, dataopt)

stage 控制器类

创建 live2d stage 控制器

Parameters:
NameTypeAttributesDefaultDescription
live2dULive2dController

live2d 上下文

selectorstring | null<optional>
null

父元素选择器

dataDStage | null<optional>
null

舞台元素数据

Listens to Events:
  • EEvent#event:modelLoad 模型加载完成的事件

Extends

Members

(protected) _data :DStage

stage 数据

live2d 舞台数据集合, 用于存储 canvas, tips 等文档元素

Type:

(protected) _live2d :ULive2dController

live2d 上下文

live2d 数据选项控制器

(protected) _menuItems :Array.<UStageController~TMenuItem>

菜单集

在菜单元素中显示的菜单集

Default Value
  • []

(readonly) app :TApplication

Application 实例

getter: Application 实例

(readonly) canvas :HTMLCanvasElement

画布元素

getter: 画布元素

Type:
  • HTMLCanvasElement

(readonly) event :EventEmitter

event 实例

getter: EventEmitter3 实例

Type:
  • EventEmitter

(readonly) live2d :ULive2dController

live2d 上下文

getter: live2d 上下文

(readonly) live2dData :DLive2dOptions

live2d 数据

getter: live2d 原始数据

菜单数组

getter: 菜单元素数组

菜单元素

getter: 菜单元素

Type:
  • HTMLElement

(readonly) other :HTMLElement

其它元素

getter: 其它元素

Type:
  • HTMLElement

(readonly) parent :HTMLElement

父元素

getter: wrapper 的父元素

Type:
  • HTMLElement

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

对象引用

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

Type:
  • Record.<string, any>

(readonly) tips :HTMLElement

提示元素

getter: 消息提示元素

Type:
  • HTMLElement

(readonly) wrapper

包装器元素

getter: 包装器元素

Methods

(async, protected) _fade(element, proceed, exit) → {Promise.<void>}

元素淡入淡出

对指定元素应用淡入或者淡出动画

Parameters:
NameTypeDescription
elementHTMLElement | null

需要执行动画的元素, 默认是包装器元素

proceed'fadeIn' | 'fadeOut'

需要进行的动画名称

exit'fadeIn' | 'fadeOut'

需要退出的动画名称

Fires:
  • EEvent#event:fadeStart 淡入淡出开始时间
  • EEvent#event:fadeEnd 淡入淡出结束事件
  • EEvent#event:fadeCancel 淡入淡出取消事件
Returns:
Type: 
Promise.<void>

(protected) _onModelLoad(style) → {void}

模型加载完成后的回调事件

模型加载完成后触发的事件, 负责设置包装器的宽高, 以及调整模型大小

Parameters:
NameTypeDescription
styleTRect

模型宽高

Returns:
Type: 
void

addMenu(element, priorityopt) → {UStageController}

添加菜单元素

将菜单元素及优先级作为一个对象添加到 menuItems

Parameters:
NameTypeAttributesDefaultDescription
elementHTMLElement

文档元素

prioritynumber<optional>
2

优先级

Returns:

自身引用

Type: 
UStageController

destroy()

销毁 stage 控制器

销毁控制器, 移除菜单元素, 以及移除绑定的事件

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

元素淡入

对指定元素应用者淡入动画

Parameters:
NameTypeAttributesDefaultDescription
elementHTMLElement | null<optional>
null

需要执行淡入的元素, 默认是包装器元素

Returns:
Type: 
Promise.<void>

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

元素淡出

对指定元素应用者淡出动画

Parameters:
NameTypeAttributesDefaultDescription
elementHTMLElement | null<optional>
null

需要执行淡出的元素, 默认是包装器元素

Returns:
Type: 
Promise.<void>

getParentFromSelector(selectoropt) → {HTMLElement}

获取父元素

从选择器中获取父元素

css 选择器规则优先, 其次是 xpath 规则, 当两个都找不到时, 则使用 body 为父元素

Parameters:
NameTypeAttributesDefaultDescription
selectorstring | null<optional>
null

选择器

Returns:

获取到的节点元素

Type: 
HTMLElement

getTransitionDuration(element) → {number}

获取过度时间

获取指定元素的 transition-duration 值

Parameters:
NameTypeDescription
elementHTMLElement

元素

Returns:

持续时间

Type: 
number

init()

初始化 stage 控制器

初始化 stage 控制器, 并为元素设置层级结构以及类名与样式

isRight() → {boolean}

判断 wrapper 的左右位置

判断 wrapper 元素是在窗口的左边还是右边

Returns:

true 和 false

Type: 
boolean

removeMenu(element) → {UStageController}

移除菜单元素

在 menuItems 中移除指定的菜单元素

Parameters:
NameTypeDescription
elementHTMLElement

文档元素

Returns:

自身引用

Type: 
UStageController

showAndHiddenMenus(event)

显示和隐藏菜单

当鼠标进入舞台时显示菜单, 离开时隐藏

当触摸到舞台时显示菜单, 否则隐藏菜单

Parameters:
NameTypeDescription
eventMouseEvent | TouchEvent

鼠标事件 | 触摸事件

Type Definitions

TMenuItem

菜单元素项目

由元素及其优先级构成的菜单元素项目

Type:
  • Object
Properties
NameTypeDescription
elementHTMLElement

菜单元素

prioritynumber

元素优先级