@x1a0ma17x/zeppos-fx 2.1.0 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README_zh-CN.md CHANGED
@@ -90,42 +90,6 @@ Page({
90
90
  });
91
91
  ```
92
92
 
93
- ## 开发
94
-
95
- ### 安装依赖
96
-
97
- ```bash
98
- pnpm install
99
- ```
100
-
101
- ### 构建
102
-
103
- ```bash
104
- pnpm build
105
- ```
106
-
107
- ### 创建本地调试环境
108
-
109
- ```bash
110
- npm link
111
- ```
112
-
113
- ### 导入本地调试包
114
-
115
- 在`example`目录中,执行以下命令来导入本地调试包
116
-
117
- ```bash
118
- npm link @x1a0ma17x/zeppos-fx
119
- ```
120
-
121
- ### 解除本地调试包
122
-
123
- 在`example`目录中,执行以下命令来解除本地调试包
124
-
125
- ```bash
126
- npm unlink @x1a0ma17x/zeppos-fx
127
- ```
128
-
129
93
  ## Roadmap
130
94
 
131
95
  - [ ] 动态兼容 ZeppOS API
package/dist/fx.d.ts ADDED
@@ -0,0 +1,163 @@
1
+ /**
2
+ * fx.ts
3
+ * @description 一个用于在ZeppOS中提供简单动画的库
4
+ * @author XiaomaiTX
5
+ * @license MIT
6
+ * @repository https://github.com/XiaomaiTX/zeppos-fx
7
+ */
8
+ /**
9
+ * 动画选项接口
10
+ */
11
+ export interface FxOptions {
12
+ delay?: number;
13
+ begin?: number;
14
+ end?: number;
15
+ x_start?: number;
16
+ x_end?: number;
17
+ time?: number;
18
+ fx?: (x: number) => number;
19
+ func: (value: number) => void;
20
+ fps?: number;
21
+ enabled?: boolean;
22
+ style?: number;
23
+ onStop?: () => void;
24
+ }
25
+ /**
26
+ *边框 接口
27
+ */
28
+ export interface Border {
29
+ x?: number;
30
+ y?: number;
31
+ w?: number;
32
+ h?: number;
33
+ radius?: number;
34
+ }
35
+ /**
36
+ * 动画类 (Fx)
37
+ *
38
+ * 一个用于在 ZeppOS 中创建平滑动画的类,支持多种缓动函数和动画样式。
39
+ * 提供开始、停止、暂停、恢复等控制方法,以及颜色混合、边框计算等静态工具函数。
40
+ *
41
+ * @example
42
+ * // 创建动画实例
43
+ * const fx = new Fx({
44
+ * begin: 0,
45
+ * end: 100,
46
+ * time: 1000,
47
+ * func: (value) => console.log(value),
48
+ * style: Fx.Styles.LINEAR
49
+ * });
50
+ * fx.start();
51
+ *
52
+ * @see {@link FxOptions} 配置选项
53
+ * @see {@link Fx.Styles} 动画样式枚举
54
+ * @see {@link Fx.Easing} 缓动函数集合
55
+ */
56
+ export declare class Fx {
57
+ begin: number;
58
+ end: number;
59
+ fps: number;
60
+ time: number;
61
+ per_clock: number;
62
+ delay: number;
63
+ func: (value: number) => void;
64
+ onStop?: () => void;
65
+ enabled: boolean;
66
+ timer: ZeppTimer | null;
67
+ x_start: number;
68
+ x_end: number;
69
+ fx: (x: number) => number;
70
+ speed: number;
71
+ x_now: number;
72
+ static Styles: {
73
+ [key: string]: number;
74
+ };
75
+ static Easing: {
76
+ [key: string]: (now_x: number, begin: number, end: number, max_x: number) => number;
77
+ };
78
+ /**
79
+ * 创建动画实例
80
+ * @param {FxOptions} options 配置选项
81
+ */
82
+ constructor({ delay, begin, end, x_start, x_end, time, fx, func, fps, enabled, style, onStop, }: FxOptions);
83
+ /**
84
+ * 获取样式名称
85
+ * @param {number} styleValue 样式枚举值
86
+ * @returns {string} 样式名称
87
+ * @private
88
+ */
89
+ _getStyleName(styleValue: number): string;
90
+ /**
91
+ * 开始动画
92
+ * 如果动画已经运行,会先停止再重新开始
93
+ */
94
+ start(): void;
95
+ /**
96
+ * 停止动画
97
+ * 重置动画进度到起始点,并停止计时器
98
+ */
99
+ stop(): void;
100
+ /**
101
+ * 暂停动画
102
+ * 停止计时器但保持当前进度
103
+ */
104
+ pause(): void;
105
+ /**
106
+ * 重新开始动画
107
+ */
108
+ restart(): void;
109
+ /**
110
+ * 设置动画是否启用
111
+ * @param {boolean} enabled 是否启用
112
+ */
113
+ setEnable(enabled: boolean): void;
114
+ /**
115
+ * 注册定时器
116
+ * @private
117
+ */
118
+ registerTimer(): void;
119
+ /**
120
+ * 获取两个颜色的混合色
121
+ * @param {number} color1 初始颜色1 (6位十六进制)
122
+ * @param {number} color2 初始颜色2 (6位十六进制)
123
+ * @param {number} percentage 混合百分比 [0,1],越小越接近color1
124
+ * @returns {number} 混合后的颜色
125
+ */
126
+ static getMixColor(color1: number, color2: number, percentage: number): number;
127
+ static getRainbowColor(percentage: number): number;
128
+ /**
129
+ * 获取两个边框的混合值
130
+ * @param {Border} border1 边框1
131
+ * @param {Border} border2 边框2
132
+ * @param {number} percentage 混合百分比 [0,1]
133
+ * @returns {Border} 混合后的边框
134
+ */
135
+ static getMixBorder(border1: Border, border2: Border, percentage: number): Border;
136
+ }
137
+ /**
138
+ * zeppos-timer.js
139
+ * @description An accurate timer for ZeppOS. 一个适用于ZeppOS的准确的计时器
140
+ * @version 1.0.0
141
+ * @date 2023/04/07
142
+ * @author XiaomaiTX
143
+ * @license MIT
144
+ * https://github.com/XiaomaiTX/zeppos-timer
145
+ *
146
+ * */
147
+ import { Time } from "@zos/sensor";
148
+ declare class ZeppTimer {
149
+ callback: () => void;
150
+ interval: number;
151
+ timerId: any;
152
+ startTime: number | null;
153
+ nextTick: number | null;
154
+ time: Time;
155
+ stopped: boolean;
156
+ constructor(callback: () => void, interval: number);
157
+ start(delay?: number): void;
158
+ stop(): void;
159
+ scheduleTick(): void;
160
+ tick(): void;
161
+ }
162
+ export {};
163
+ //# sourceMappingURL=fx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fx.d.ts","sourceRoot":"","sources":["../src/fx.ts"],"names":[],"mappings":"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"}