# ScrollText 组件 API 文档 本文档由 `DeepSeek R1` 模型生成并微调。 --- ## 核心特性 - **自动滚动**:支持设定滚动速度的纵向滚动效果 - **长文本支持**:内置高性能文本渲染引擎 - **精准控制**:提供播放/暂停/调速等操作接口 - **智能布局**:自动计算文本高度和滚动距离 --- ## Props 属性说明 ```mermaid graph LR ScrollTextProps --> TextContentProps ScrollTextProps --> ScrollProps click TextContentProps "./组件%20TextContent" click ScrollProps "./组件%20Scroll" ``` 完全继承 `TextContent` 组件和 `Scroll` 组件的参数和事件。 | 属性名 | 类型 | 默认值 | 描述 | | ------- | ---------------- | ------ | --------------------------- | | `speed` | `number` | 必填 | 滚动速度(像素/秒) | | `width` | `number` | 必填 | 文本区域固定宽度(像素) | | `loc` | `ElementLocator` | 必填 | 容器定位 [x,y,width,height] | | `pad` | `number` | `16` | 首行前空白距离(像素) | --- ## 事件说明 | 事件名 | 参数 | 触发时机 | | ----------- | ---- | -------------------- | | `scrollEnd` | - | 滚动到文本末尾时触发 | --- ## Exposed Methods 暴露方法 | 方法名 | 参数 | 返回值 | 描述 | | ---------- | --------------- | ------ | --------------------------- | | `pause` | - | void | 暂停滚动 | | `resume` | - | void | 继续滚动 | | `setSpeed` | `speed: number` | void | 动态调整滚动速度(像素/秒) | | `rescroll` | - | void | 立即重置到起始位置重新滚动 | --- ## 使用示例 ### 基础滚动 ```tsx import { defineComponent } from 'vue'; import { ScrollText } from '@user/client-modules'; export const MyCom = defineComponent(() => { const longText = '序幕\n'.repeat(100) + '——全剧终——'; return () => ( ); }); ``` ### 动态控制 ```tsx import { defineComponent, ref } from 'vue'; import { ScrollText } from '@user/client-modules'; export const MyCom = defineComponent(() => { const longText = '序幕\n'.repeat(100) + '——全剧终——'; const scrollRef = ref(); // 暂停/恢复控制 const toggleScroll = () => { if (scrollRef.value?.isPaused) { scrollRef.value.resume(); } else { scrollRef.value?.pause(); } }; // 速度控制 const accelerate = () => { scrollRef.value?.setSpeed(200); }; return () => ( console.log('滚动结束')} /> ); }); ``` ### 复杂排版 ```tsx const staffText = '\\c[32]====制作人员====\\c\n\n' + '\\r[#FFD700]总监督\\r\t\t张三\n' + '\\r[#00FF00]美术指导\\r\\t李四\n' + '\\i[logo]\n' + '特别感谢:某某公司'; ; ``` --- ## 注意事项 1. **容器尺寸** 实际可滚动区域计算公式: ``` 可视高度 = loc[3](容器高度) 滚动距离 = 文本总高度 + pad(首行前空白) ``` 2. **速度控制** 推荐速度范围 50-200 像素/秒 3. **组合动画** 可与容器变换配合实现复杂效果: ```tsx ```