@sanyueqi/web-components
Version:
Web components
71 lines (66 loc) • 1.6 kB
TypeScript
/**
* Spine 动画配置接口
*/
interface SpineAnimationConfig {
id: string;
atlas: string;
skeleton: string;
animation: string;
scale?: string;
'x-axis'?: string;
'y-axis'?: string;
fit?: string;
skin?: string;
'offset-x'?: string;
'offset-y'?: string;
drag?: boolean;
clip?: boolean;
extraData?: Record<string, any>;
}
/**
* 拖拽角色配置接口
*/
interface DragWaifuConfig {
/** 容器元素的 ID,默认 'drag-waifu' */
id?: string;
/** 容器宽度,默认 '200px' */
width?: string;
/** 容器高度,默认 '200px' */
height?: string;
/** 初始 top 位置 */
top?: string;
/** 初始 bottom 位置 */
bottom?: string;
/** 初始 left 位置 */
left?: string;
/** 初始 right 位置 */
right?: string;
/** Spine 动画配置数组 */
spineConfig?: SpineAnimationConfig[];
}
/**
* 拖拽角色实例接口
*/
interface DragWaifuInstance {
/**
* 销毁拖拽角色实例
* 移除所有事件监听器和 DOM 元素
*/
destroy(): void;
}
/**
* 创建可拖动的 Spine 动画角色
* @param config 配置对象
* @returns 拖拽角色实例
*/
declare function createDraggableWaifu(config?: DragWaifuConfig): DragWaifuInstance;
// 导出给模块系统使用
declare module 'drag-waifu' {
export = createDraggableWaifu;
}
// 导出给全局使用
declare global {
interface Window {
createDraggableWaifu: typeof createDraggableWaifu;
}
}