l2d
Version:
Loading Live2D in a browser is simpler.
102 lines (101 loc) • 2.81 kB
TypeScript
import { UnsubscribeFunction, default as Emittery } from 'emittery';
import { InternalModel, Live2DModel } from 'pixi-live2d-display';
import { Application } from 'pixi.js';
import { Emits, Options } from './types';
export declare class Model {
private live2dModel;
private app;
private emittery;
private hitAreaFrames;
private motion;
private motionStream;
constructor(live2dModel: Live2DModel<InternalModel>, app: Application, emittery: Emittery<Emits>);
/**
* 自定义参数
* @param id
* @param value
*/
setParam(id: string, value: number): void;
/**
* 获取所有表情, 如果一个模型在其设置中没有定义表情, ExpressionManager 将完全不会创建,这意味着该方法将只能返回一个空数组。
*/
getExpressions(): {
id: any;
name: any;
file: any;
}[];
/**
* 根据表情id播放表情
* @param id Expression Id
*/
expression(id: string): Promise<void>;
/**
* 获取当前模型所有动作组名称
*/
getMotionGroupNames(): string[];
/**
* 根据动作组名称获取动作文件列表
* @param name
*/
getMotionListByGroupName(name: string): any[];
/**
* 根据动作组名称播放动作
* @param group
* @param index
*/
playMotion(group: string, index?: number): Promise<boolean>;
/** @ignore */
static create(options: Options, emittery: Emittery<Emits>): Live2DModel<InternalModel>;
on(eventName: keyof Emits, listener: (eventData: Emits[keyof Emits]) => void | Promise<void>): UnsubscribeFunction;
/**
* 设置模型在canvas中的坐标
*/
setPosition(position: [x: number, y: number] | 'center'): void;
/**
* 设置旋转角度
* @param value
*/
setRotaion(value?: number): void;
/**
* 设置锚点
* @param x
* @param y
*/
setAnchor(x?: number, y?: number): void;
/**
* 显示可点击区域
*/
showHitAreaFrames(): void;
/**
* 隐藏点击区域
*/
hideHitAreaFrames(): void;
/**
* 销毁模型
*/
destroy(): void;
setScale(value: number | 'auto'): void;
/**
* 设置音量
* @param value
*/
setVolume(value?: number): void;
/**
* 将模型移动至画布中间
*/
moveCenter(): void;
loadMotionFromUrl(url: string): void;
loadMotionStreamFromUrl(url: string): void;
/**
* 说话(口型动作同步)
* @param audioBuffer
*/
speak(audioBuffer: AudioBuffer): Promise<void>;
resetSpeak(): void;
/**
* 说话(媒体流)
* @param mediaStream
*/
speakStream(mediaStream: MediaStream): Promise<void>;
resetSpeakStream(): void;
}