@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 +0 -36
- package/dist/fx.d.ts +163 -0
- package/dist/fx.d.ts.map +1 -0
- package/dist/fx.js +543 -0
- package/dist/fx.js.map +1 -0
- package/dist/fx.test.d.ts +2 -0
- package/dist/fx.test.d.ts.map +1 -0
- package/dist/fx.test.js +427 -0
- package/dist/fx.test.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js.map +1 -0
- package/dist/types/index.d.ts +10 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -0
- package/example/package.json +3 -0
- package/example/pnpm-lock.yaml +5 -5
- package/jest.config.js +22 -0
- package/package.json +6 -2
- package/src/fx.test.ts +521 -0
- package/src/fx.ts +9 -8
- package/src/types/zeppos.d.ts +0 -13
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
|
package/dist/fx.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fx.d.ts","sourceRoot":"","sources":["../src/fx.ts"],"names":[],"mappings":"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"}
|