@esengine/ecs-framework 2.0.3 → 2.0.5
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/bin/ECS/Core/FluentAPI.d.ts +0 -21
- package/bin/ECS/Core/FluentAPI.d.ts.map +1 -1
- package/bin/ECS/Core/FluentAPI.js +0 -33
- package/bin/ECS/Core/FluentAPI.js.map +1 -1
- package/bin/ECS/Entity.d.ts +23 -70
- package/bin/ECS/Entity.d.ts.map +1 -1
- package/bin/ECS/Entity.js +18 -66
- package/bin/ECS/Entity.js.map +1 -1
- package/bin/ECS/index.d.ts +0 -1
- package/bin/ECS/index.d.ts.map +1 -1
- package/bin/ECS/index.js +1 -2
- package/bin/ECS/index.js.map +1 -1
- package/bin/Utils/Extensions/index.d.ts +0 -1
- package/bin/Utils/Extensions/index.d.ts.map +1 -1
- package/bin/Utils/Extensions/index.js +0 -1
- package/bin/Utils/Extensions/index.js.map +1 -1
- package/bin/Utils/index.d.ts +0 -1
- package/bin/Utils/index.d.ts.map +1 -1
- package/bin/Utils/index.js +0 -1
- package/bin/Utils/index.js.map +1 -1
- package/bin/index.d.ts +0 -2
- package/bin/index.d.ts.map +1 -1
- package/bin/index.js +0 -3
- package/bin/index.js.map +1 -1
- package/package.json +7 -1
- package/README.md +0 -277
- package/bin/ECS/Transform.d.ts +0 -178
- package/bin/ECS/Transform.d.ts.map +0 -1
- package/bin/ECS/Transform.js +0 -249
- package/bin/ECS/Transform.js.map +0 -1
- package/bin/Math/Edge.d.ts +0 -23
- package/bin/Math/Edge.d.ts.map +0 -1
- package/bin/Math/Edge.js +0 -24
- package/bin/Math/Edge.js.map +0 -1
- package/bin/Math/MathHelper.d.ts +0 -75
- package/bin/Math/MathHelper.d.ts.map +0 -1
- package/bin/Math/MathHelper.js +0 -91
- package/bin/Math/MathHelper.js.map +0 -1
- package/bin/Math/Rectangle.d.ts +0 -126
- package/bin/Math/Rectangle.d.ts.map +0 -1
- package/bin/Math/Rectangle.js +0 -181
- package/bin/Math/Rectangle.js.map +0 -1
- package/bin/Math/Vector2.d.ts +0 -229
- package/bin/Math/Vector2.d.ts.map +0 -1
- package/bin/Math/Vector2.js +0 -338
- package/bin/Math/Vector2.js.map +0 -1
- package/bin/Math/index.d.ts +0 -5
- package/bin/Math/index.d.ts.map +0 -1
- package/bin/Math/index.js +0 -6
- package/bin/Math/index.js.map +0 -1
- package/bin/Utils/Extensions/EdgeExt.d.ts +0 -26
- package/bin/Utils/Extensions/EdgeExt.d.ts.map +0 -1
- package/bin/Utils/Extensions/EdgeExt.js +0 -41
- package/bin/Utils/Extensions/EdgeExt.js.map +0 -1
- package/bin/Utils/Screen.d.ts +0 -12
- package/bin/Utils/Screen.d.ts.map +0 -1
- package/bin/Utils/Screen.js +0 -14
- package/bin/Utils/Screen.js.map +0 -1
package/bin/ECS/Transform.js
DELETED
|
@@ -1,249 +0,0 @@
|
|
|
1
|
-
import { Vector2 } from '../Math/Vector2';
|
|
2
|
-
import { MathHelper } from '../Math/MathHelper';
|
|
3
|
-
/**
|
|
4
|
-
* 变换组件类
|
|
5
|
-
*
|
|
6
|
-
* 管理游戏对象的空间变换信息,包括位置、旋转和缩放。
|
|
7
|
-
* 支持父子层级关系,可以构建复杂的变换层次结构。
|
|
8
|
-
*
|
|
9
|
-
* @example
|
|
10
|
-
* ```typescript
|
|
11
|
-
* const transform = new Transform();
|
|
12
|
-
* transform.setPosition(100, 200);
|
|
13
|
-
* transform.setRotationDegrees(45);
|
|
14
|
-
* transform.setScale(2, 2);
|
|
15
|
-
*
|
|
16
|
-
* // 设置父子关系
|
|
17
|
-
* childTransform.setParent(transform);
|
|
18
|
-
* ```
|
|
19
|
-
*/
|
|
20
|
-
export class Transform {
|
|
21
|
-
/**
|
|
22
|
-
* 创建变换实例
|
|
23
|
-
*
|
|
24
|
-
* @param position - 初始位置,默认为零向量
|
|
25
|
-
* @param rotation - 初始旋转角度(弧度),默认为0
|
|
26
|
-
* @param scale - 初始缩放,默认为单位向量
|
|
27
|
-
*/
|
|
28
|
-
constructor(position, rotation = 0, scale) {
|
|
29
|
-
/**
|
|
30
|
-
* 本地位置坐标
|
|
31
|
-
*
|
|
32
|
-
* 相对于父变换的位置,如果没有父变换则为世界坐标。
|
|
33
|
-
*/
|
|
34
|
-
this.position = Vector2.zero;
|
|
35
|
-
/**
|
|
36
|
-
* 本地旋转角度
|
|
37
|
-
*
|
|
38
|
-
* 以弧度为单位的旋转角度,相对于父变换的旋转。
|
|
39
|
-
*/
|
|
40
|
-
this.rotation = 0;
|
|
41
|
-
/**
|
|
42
|
-
* 本地缩放比例
|
|
43
|
-
*
|
|
44
|
-
* 相对于父变换的缩放比例。
|
|
45
|
-
*/
|
|
46
|
-
this.scale = Vector2.one;
|
|
47
|
-
/**
|
|
48
|
-
* 父变换引用
|
|
49
|
-
*
|
|
50
|
-
* 指向父级变换,如果为null则表示这是根变换。
|
|
51
|
-
*/
|
|
52
|
-
this.parent = null;
|
|
53
|
-
/**
|
|
54
|
-
* 子变换集合
|
|
55
|
-
*
|
|
56
|
-
* 存储所有子级变换的数组。
|
|
57
|
-
*/
|
|
58
|
-
this._children = [];
|
|
59
|
-
if (position)
|
|
60
|
-
this.position = position.clone();
|
|
61
|
-
this.rotation = rotation;
|
|
62
|
-
if (scale)
|
|
63
|
-
this.scale = scale.clone();
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* 获取旋转角度(度数)
|
|
67
|
-
*
|
|
68
|
-
* @returns 以度数为单位的旋转角度
|
|
69
|
-
*/
|
|
70
|
-
get rotationDegrees() {
|
|
71
|
-
return MathHelper.toDegrees(this.rotation);
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* 设置旋转角度(度数)
|
|
75
|
-
*
|
|
76
|
-
* @param value - 以度数为单位的旋转角度
|
|
77
|
-
*/
|
|
78
|
-
set rotationDegrees(value) {
|
|
79
|
-
this.rotation = MathHelper.toRadians(value);
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* 获取世界坐标位置
|
|
83
|
-
*
|
|
84
|
-
* 计算并返回在世界坐标系中的绝对位置。
|
|
85
|
-
*
|
|
86
|
-
* @returns 世界坐标位置
|
|
87
|
-
*/
|
|
88
|
-
get worldPosition() {
|
|
89
|
-
if (!this.parent) {
|
|
90
|
-
return this.position.clone();
|
|
91
|
-
}
|
|
92
|
-
// 计算世界位置
|
|
93
|
-
const parentWorld = this.parent.worldPosition;
|
|
94
|
-
const cos = Math.cos(this.parent.worldRotation);
|
|
95
|
-
const sin = Math.sin(this.parent.worldRotation);
|
|
96
|
-
const parentScale = this.parent.worldScale;
|
|
97
|
-
const scaledPos = Vector2.multiply(this.position, parentScale);
|
|
98
|
-
const rotatedX = scaledPos.x * cos - scaledPos.y * sin;
|
|
99
|
-
const rotatedY = scaledPos.x * sin + scaledPos.y * cos;
|
|
100
|
-
return new Vector2(parentWorld.x + rotatedX, parentWorld.y + rotatedY);
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* 获取世界旋转角度
|
|
104
|
-
*
|
|
105
|
-
* 计算并返回在世界坐标系中的绝对旋转角度。
|
|
106
|
-
*
|
|
107
|
-
* @returns 世界旋转角度(弧度)
|
|
108
|
-
*/
|
|
109
|
-
get worldRotation() {
|
|
110
|
-
if (!this.parent) {
|
|
111
|
-
return this.rotation;
|
|
112
|
-
}
|
|
113
|
-
return this.parent.worldRotation + this.rotation;
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* 获取世界缩放比例
|
|
117
|
-
*
|
|
118
|
-
* 计算并返回在世界坐标系中的绝对缩放比例。
|
|
119
|
-
*
|
|
120
|
-
* @returns 世界缩放比例
|
|
121
|
-
*/
|
|
122
|
-
get worldScale() {
|
|
123
|
-
if (!this.parent) {
|
|
124
|
-
return this.scale.clone();
|
|
125
|
-
}
|
|
126
|
-
return Vector2.multiply(this.parent.worldScale, this.scale);
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* 获取子变换数量
|
|
130
|
-
*
|
|
131
|
-
* @returns 子变换的数量
|
|
132
|
-
*/
|
|
133
|
-
get childCount() {
|
|
134
|
-
return this._children.length;
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* 获取指定索引的子变换
|
|
138
|
-
*
|
|
139
|
-
* @param index - 子变换的索引
|
|
140
|
-
* @returns 子变换实例,如果索引无效则返回null
|
|
141
|
-
*/
|
|
142
|
-
getChild(index) {
|
|
143
|
-
if (index >= 0 && index < this._children.length) {
|
|
144
|
-
return this._children[index];
|
|
145
|
-
}
|
|
146
|
-
return null;
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* 设置父变换
|
|
150
|
-
*
|
|
151
|
-
* 建立或断开与父变换的层级关系。
|
|
152
|
-
*
|
|
153
|
-
* @param parent - 新的父变换,传入null表示断开父子关系
|
|
154
|
-
*/
|
|
155
|
-
setParent(parent) {
|
|
156
|
-
if (this.parent === parent)
|
|
157
|
-
return;
|
|
158
|
-
// 从旧父级移除
|
|
159
|
-
if (this.parent) {
|
|
160
|
-
const index = this.parent._children.indexOf(this);
|
|
161
|
-
if (index >= 0) {
|
|
162
|
-
this.parent._children.splice(index, 1);
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
// 设置新父级
|
|
166
|
-
this.parent = parent;
|
|
167
|
-
if (parent) {
|
|
168
|
-
parent._children.push(this);
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* 设置本地位置
|
|
173
|
-
*
|
|
174
|
-
* @param x - X坐标
|
|
175
|
-
* @param y - Y坐标
|
|
176
|
-
*/
|
|
177
|
-
setPosition(x, y) {
|
|
178
|
-
this.position.set(x, y);
|
|
179
|
-
}
|
|
180
|
-
/**
|
|
181
|
-
* 设置本地旋转角度(弧度)
|
|
182
|
-
*
|
|
183
|
-
* @param radians - 旋转角度(弧度)
|
|
184
|
-
*/
|
|
185
|
-
setRotation(radians) {
|
|
186
|
-
this.rotation = radians;
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* 设置本地旋转角度(度数)
|
|
190
|
-
*
|
|
191
|
-
* @param degrees - 旋转角度(度数)
|
|
192
|
-
*/
|
|
193
|
-
setRotationDegrees(degrees) {
|
|
194
|
-
this.rotation = MathHelper.toRadians(degrees);
|
|
195
|
-
}
|
|
196
|
-
setScale(scaleOrX, y) {
|
|
197
|
-
if (typeof scaleOrX === 'number') {
|
|
198
|
-
this.scale.set(scaleOrX, y);
|
|
199
|
-
}
|
|
200
|
-
else {
|
|
201
|
-
this.scale.copyFrom(scaleOrX);
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
/**
|
|
205
|
-
* 朝向指定位置
|
|
206
|
-
*
|
|
207
|
-
* 调整旋转角度使变换朝向目标位置。
|
|
208
|
-
*
|
|
209
|
-
* @param target - 目标位置
|
|
210
|
-
*/
|
|
211
|
-
lookAt(target) {
|
|
212
|
-
const direction = target.subtract(this.worldPosition);
|
|
213
|
-
this.rotation = Math.atan2(direction.y, direction.x);
|
|
214
|
-
}
|
|
215
|
-
/**
|
|
216
|
-
* 平移变换
|
|
217
|
-
*
|
|
218
|
-
* 在当前位置基础上添加偏移量。
|
|
219
|
-
*
|
|
220
|
-
* @param offset - 位置偏移量
|
|
221
|
-
*/
|
|
222
|
-
translate(offset) {
|
|
223
|
-
this.position = this.position.add(offset);
|
|
224
|
-
}
|
|
225
|
-
/**
|
|
226
|
-
* 旋转
|
|
227
|
-
* @param radians 旋转角度(弧度)
|
|
228
|
-
*/
|
|
229
|
-
rotate(radians) {
|
|
230
|
-
this.rotation += radians;
|
|
231
|
-
}
|
|
232
|
-
/**
|
|
233
|
-
* 复制另一个变换的值
|
|
234
|
-
* @param other 另一个变换
|
|
235
|
-
*/
|
|
236
|
-
copyFrom(other) {
|
|
237
|
-
this.position.copyFrom(other.position);
|
|
238
|
-
this.rotation = other.rotation;
|
|
239
|
-
this.scale.copyFrom(other.scale);
|
|
240
|
-
}
|
|
241
|
-
/**
|
|
242
|
-
* 克隆变换
|
|
243
|
-
*/
|
|
244
|
-
clone() {
|
|
245
|
-
const transform = new Transform(this.position, this.rotation, this.scale);
|
|
246
|
-
return transform;
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
//# sourceMappingURL=Transform.js.map
|
package/bin/ECS/Transform.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Transform.js","sourceRoot":"","sources":["../../src/ECS/Transform.ts"],"names":[],"mappings":"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"}
|
package/bin/Math/Edge.d.ts
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 边缘枚举
|
|
3
|
-
* 表示矩形的四个边
|
|
4
|
-
*/
|
|
5
|
-
export declare enum Edge {
|
|
6
|
-
/**
|
|
7
|
-
* 顶边
|
|
8
|
-
*/
|
|
9
|
-
top = 0,
|
|
10
|
-
/**
|
|
11
|
-
* 底边
|
|
12
|
-
*/
|
|
13
|
-
bottom = 1,
|
|
14
|
-
/**
|
|
15
|
-
* 左边
|
|
16
|
-
*/
|
|
17
|
-
left = 2,
|
|
18
|
-
/**
|
|
19
|
-
* 右边
|
|
20
|
-
*/
|
|
21
|
-
right = 3
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=Edge.d.ts.map
|
package/bin/Math/Edge.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Edge.d.ts","sourceRoot":"","sources":["../../src/Math/Edge.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,IAAI;IACZ;;OAEG;IACH,GAAG,IAAI;IAEP;;OAEG;IACH,MAAM,IAAI;IAEV;;OAEG;IACH,IAAI,IAAI;IAER;;OAEG;IACH,KAAK,IAAI;CACZ"}
|
package/bin/Math/Edge.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 边缘枚举
|
|
3
|
-
* 表示矩形的四个边
|
|
4
|
-
*/
|
|
5
|
-
export var Edge;
|
|
6
|
-
(function (Edge) {
|
|
7
|
-
/**
|
|
8
|
-
* 顶边
|
|
9
|
-
*/
|
|
10
|
-
Edge[Edge["top"] = 0] = "top";
|
|
11
|
-
/**
|
|
12
|
-
* 底边
|
|
13
|
-
*/
|
|
14
|
-
Edge[Edge["bottom"] = 1] = "bottom";
|
|
15
|
-
/**
|
|
16
|
-
* 左边
|
|
17
|
-
*/
|
|
18
|
-
Edge[Edge["left"] = 2] = "left";
|
|
19
|
-
/**
|
|
20
|
-
* 右边
|
|
21
|
-
*/
|
|
22
|
-
Edge[Edge["right"] = 3] = "right";
|
|
23
|
-
})(Edge || (Edge = {}));
|
|
24
|
-
//# sourceMappingURL=Edge.js.map
|
package/bin/Math/Edge.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Edge.js","sourceRoot":"","sources":["../../src/Math/Edge.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAN,IAAY,IAoBX;AApBD,WAAY,IAAI;IACZ;;OAEG;IACH,6BAAO,CAAA;IAEP;;OAEG;IACH,mCAAU,CAAA;IAEV;;OAEG;IACH,+BAAQ,CAAA;IAER;;OAEG;IACH,iCAAS,CAAA;AACb,CAAC,EApBW,IAAI,KAAJ,IAAI,QAoBf"}
|
package/bin/Math/MathHelper.d.ts
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 数学辅助工具类
|
|
3
|
-
* 提供常用的数学计算函数和常量
|
|
4
|
-
*/
|
|
5
|
-
export declare class MathHelper {
|
|
6
|
-
/**
|
|
7
|
-
* 角度转弧度的转换系数
|
|
8
|
-
*/
|
|
9
|
-
static readonly DEG_TO_RAD: number;
|
|
10
|
-
/**
|
|
11
|
-
* 弧度转角度的转换系数
|
|
12
|
-
*/
|
|
13
|
-
static readonly RAD_TO_DEG: number;
|
|
14
|
-
/**
|
|
15
|
-
* 浮点数比较的默认精度值
|
|
16
|
-
*/
|
|
17
|
-
static readonly EPSILON = 0.00001;
|
|
18
|
-
/**
|
|
19
|
-
* 将角度转换为弧度
|
|
20
|
-
* @param degrees 角度值
|
|
21
|
-
* @returns 对应的弧度值
|
|
22
|
-
*/
|
|
23
|
-
static toRadians(degrees: number): number;
|
|
24
|
-
/**
|
|
25
|
-
* 将弧度转换为角度
|
|
26
|
-
* @param radians 弧度值
|
|
27
|
-
* @returns 对应的角度值
|
|
28
|
-
*/
|
|
29
|
-
static toDegrees(radians: number): number;
|
|
30
|
-
/**
|
|
31
|
-
* 将数值限制在指定范围内
|
|
32
|
-
* @param value 要限制的值
|
|
33
|
-
* @param min 最小值
|
|
34
|
-
* @param max 最大值
|
|
35
|
-
* @returns 限制后的值
|
|
36
|
-
*/
|
|
37
|
-
static clamp(value: number, min: number, max: number): number;
|
|
38
|
-
/**
|
|
39
|
-
* 将数值限制在0到1之间
|
|
40
|
-
* @param value 要限制的值
|
|
41
|
-
* @returns 限制在[0,1]范围内的值
|
|
42
|
-
*/
|
|
43
|
-
static clamp01(value: number): number;
|
|
44
|
-
/**
|
|
45
|
-
* 在两个值之间进行线性插值
|
|
46
|
-
* @param a 起始值
|
|
47
|
-
* @param b 结束值
|
|
48
|
-
* @param t 插值参数,会被限制在[0,1]范围内
|
|
49
|
-
* @returns 插值结果
|
|
50
|
-
*/
|
|
51
|
-
static lerp(a: number, b: number, t: number): number;
|
|
52
|
-
/**
|
|
53
|
-
* 检查两个浮点数是否在指定精度内相等
|
|
54
|
-
* @param a 第一个数值
|
|
55
|
-
* @param b 第二个数值
|
|
56
|
-
* @param tolerance 容差值,默认为EPSILON
|
|
57
|
-
* @returns 如果两个数值在容差范围内相等返回true,否则返回false
|
|
58
|
-
*/
|
|
59
|
-
static approximately(a: number, b: number, tolerance?: number): boolean;
|
|
60
|
-
/**
|
|
61
|
-
* 生成指定范围内的随机数
|
|
62
|
-
* @param min 最小值,默认为0
|
|
63
|
-
* @param max 最大值,默认为1
|
|
64
|
-
* @returns 范围内的随机数
|
|
65
|
-
*/
|
|
66
|
-
static random(min?: number, max?: number): number;
|
|
67
|
-
/**
|
|
68
|
-
* 生成指定范围内的随机整数
|
|
69
|
-
* @param min 最小值(包含)
|
|
70
|
-
* @param max 最大值(包含)
|
|
71
|
-
* @returns 范围内的随机整数
|
|
72
|
-
*/
|
|
73
|
-
static randomInt(min: number, max: number): number;
|
|
74
|
-
}
|
|
75
|
-
//# sourceMappingURL=MathHelper.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MathHelper.d.ts","sourceRoot":"","sources":["../../src/Math/MathHelper.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,UAAU;IACnB;;OAEG;IACH,gBAAuB,UAAU,SAAiB;IAElD;;OAEG;IACH,gBAAuB,UAAU,SAAiB;IAElD;;OAEG;IACH,gBAAuB,OAAO,WAAW;IAEzC;;;;OAIG;WACW,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAIhD;;;;OAIG;WACW,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAIhD;;;;;;OAMG;WACW,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAIpE;;;;OAIG;WACW,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAI5C;;;;;;OAMG;WACW,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAI3D;;;;;;OAMG;WACW,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,GAAE,MAA2B,GAAG,OAAO;IAIlG;;;;;OAKG;WACW,MAAM,CAAC,GAAG,GAAE,MAAU,EAAE,GAAG,GAAE,MAAU,GAAG,MAAM;IAI9D;;;;;OAKG;WACW,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;CAG5D"}
|
package/bin/Math/MathHelper.js
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 数学辅助工具类
|
|
3
|
-
* 提供常用的数学计算函数和常量
|
|
4
|
-
*/
|
|
5
|
-
export class MathHelper {
|
|
6
|
-
/**
|
|
7
|
-
* 将角度转换为弧度
|
|
8
|
-
* @param degrees 角度值
|
|
9
|
-
* @returns 对应的弧度值
|
|
10
|
-
*/
|
|
11
|
-
static toRadians(degrees) {
|
|
12
|
-
return degrees * MathHelper.DEG_TO_RAD;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* 将弧度转换为角度
|
|
16
|
-
* @param radians 弧度值
|
|
17
|
-
* @returns 对应的角度值
|
|
18
|
-
*/
|
|
19
|
-
static toDegrees(radians) {
|
|
20
|
-
return radians * MathHelper.RAD_TO_DEG;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* 将数值限制在指定范围内
|
|
24
|
-
* @param value 要限制的值
|
|
25
|
-
* @param min 最小值
|
|
26
|
-
* @param max 最大值
|
|
27
|
-
* @returns 限制后的值
|
|
28
|
-
*/
|
|
29
|
-
static clamp(value, min, max) {
|
|
30
|
-
return Math.max(min, Math.min(max, value));
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* 将数值限制在0到1之间
|
|
34
|
-
* @param value 要限制的值
|
|
35
|
-
* @returns 限制在[0,1]范围内的值
|
|
36
|
-
*/
|
|
37
|
-
static clamp01(value) {
|
|
38
|
-
return MathHelper.clamp(value, 0, 1);
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* 在两个值之间进行线性插值
|
|
42
|
-
* @param a 起始值
|
|
43
|
-
* @param b 结束值
|
|
44
|
-
* @param t 插值参数,会被限制在[0,1]范围内
|
|
45
|
-
* @returns 插值结果
|
|
46
|
-
*/
|
|
47
|
-
static lerp(a, b, t) {
|
|
48
|
-
return a + (b - a) * MathHelper.clamp01(t);
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* 检查两个浮点数是否在指定精度内相等
|
|
52
|
-
* @param a 第一个数值
|
|
53
|
-
* @param b 第二个数值
|
|
54
|
-
* @param tolerance 容差值,默认为EPSILON
|
|
55
|
-
* @returns 如果两个数值在容差范围内相等返回true,否则返回false
|
|
56
|
-
*/
|
|
57
|
-
static approximately(a, b, tolerance = MathHelper.EPSILON) {
|
|
58
|
-
return Math.abs(a - b) < tolerance;
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* 生成指定范围内的随机数
|
|
62
|
-
* @param min 最小值,默认为0
|
|
63
|
-
* @param max 最大值,默认为1
|
|
64
|
-
* @returns 范围内的随机数
|
|
65
|
-
*/
|
|
66
|
-
static random(min = 0, max = 1) {
|
|
67
|
-
return Math.random() * (max - min) + min;
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* 生成指定范围内的随机整数
|
|
71
|
-
* @param min 最小值(包含)
|
|
72
|
-
* @param max 最大值(包含)
|
|
73
|
-
* @returns 范围内的随机整数
|
|
74
|
-
*/
|
|
75
|
-
static randomInt(min, max) {
|
|
76
|
-
return Math.floor(Math.random() * (max - min + 1)) + min;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* 角度转弧度的转换系数
|
|
81
|
-
*/
|
|
82
|
-
MathHelper.DEG_TO_RAD = Math.PI / 180;
|
|
83
|
-
/**
|
|
84
|
-
* 弧度转角度的转换系数
|
|
85
|
-
*/
|
|
86
|
-
MathHelper.RAD_TO_DEG = 180 / Math.PI;
|
|
87
|
-
/**
|
|
88
|
-
* 浮点数比较的默认精度值
|
|
89
|
-
*/
|
|
90
|
-
MathHelper.EPSILON = 0.00001;
|
|
91
|
-
//# sourceMappingURL=MathHelper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MathHelper.js","sourceRoot":"","sources":["../../src/Math/MathHelper.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,UAAU;IAgBnB;;;;OAIG;IACI,MAAM,CAAC,SAAS,CAAC,OAAe;QACnC,OAAO,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,SAAS,CAAC,OAAe;QACnC,OAAO,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC;IAC3C,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,KAAK,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;QACvD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,OAAO,CAAC,KAAa;QAC/B,OAAO,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,IAAI,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;QAC9C,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,aAAa,CAAC,CAAS,EAAE,CAAS,EAAE,YAAoB,UAAU,CAAC,OAAO;QACpF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;IACvC,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,MAAM,CAAC,MAAc,CAAC,EAAE,MAAc,CAAC;QACjD,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IAC7C,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,SAAS,CAAC,GAAW,EAAE,GAAW;QAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAC7D,CAAC;;AA7FD;;GAEG;AACoB,qBAAU,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;AAElD;;GAEG;AACoB,qBAAU,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;AAElD;;GAEG;AACoB,kBAAO,GAAG,OAAO,CAAC"}
|
package/bin/Math/Rectangle.d.ts
DELETED
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
import { Vector2 } from './Vector2';
|
|
2
|
-
/**
|
|
3
|
-
* 矩形类
|
|
4
|
-
* 表示一个二维矩形区域,提供基本的几何操作
|
|
5
|
-
*/
|
|
6
|
-
export declare class Rectangle {
|
|
7
|
-
/**
|
|
8
|
-
* 矩形左上角的X坐标
|
|
9
|
-
*/
|
|
10
|
-
x: number;
|
|
11
|
-
/**
|
|
12
|
-
* 矩形左上角的Y坐标
|
|
13
|
-
*/
|
|
14
|
-
y: number;
|
|
15
|
-
/**
|
|
16
|
-
* 矩形的宽度
|
|
17
|
-
*/
|
|
18
|
-
width: number;
|
|
19
|
-
/**
|
|
20
|
-
* 矩形的高度
|
|
21
|
-
*/
|
|
22
|
-
height: number;
|
|
23
|
-
/**
|
|
24
|
-
* 构造函数
|
|
25
|
-
* @param x 左上角X坐标
|
|
26
|
-
* @param y 左上角Y坐标
|
|
27
|
-
* @param width 宽度
|
|
28
|
-
* @param height 高度
|
|
29
|
-
*/
|
|
30
|
-
constructor(x?: number, y?: number, width?: number, height?: number);
|
|
31
|
-
/**
|
|
32
|
-
* 返回空矩形实例
|
|
33
|
-
*/
|
|
34
|
-
static get empty(): Rectangle;
|
|
35
|
-
/**
|
|
36
|
-
* 获取矩形左边界的X坐标
|
|
37
|
-
*/
|
|
38
|
-
get left(): number;
|
|
39
|
-
/**
|
|
40
|
-
* 获取矩形右边界的X坐标
|
|
41
|
-
*/
|
|
42
|
-
get right(): number;
|
|
43
|
-
/**
|
|
44
|
-
* 获取矩形上边界的Y坐标
|
|
45
|
-
*/
|
|
46
|
-
get top(): number;
|
|
47
|
-
/**
|
|
48
|
-
* 获取矩形下边界的Y坐标
|
|
49
|
-
*/
|
|
50
|
-
get bottom(): number;
|
|
51
|
-
/**
|
|
52
|
-
* 获取矩形的中心点坐标
|
|
53
|
-
*/
|
|
54
|
-
get center(): Vector2;
|
|
55
|
-
/**
|
|
56
|
-
* 获取或设置矩形的位置(左上角坐标)
|
|
57
|
-
*/
|
|
58
|
-
get location(): Vector2;
|
|
59
|
-
set location(value: Vector2);
|
|
60
|
-
/**
|
|
61
|
-
* 获取或设置矩形的尺寸
|
|
62
|
-
*/
|
|
63
|
-
get size(): Vector2;
|
|
64
|
-
set size(value: Vector2);
|
|
65
|
-
/**
|
|
66
|
-
* 检查指定点是否在矩形内
|
|
67
|
-
* @param x 点的X坐标
|
|
68
|
-
* @param y 点的Y坐标
|
|
69
|
-
* @returns 如果点在矩形内返回true,否则返回false
|
|
70
|
-
*/
|
|
71
|
-
contains(x: number, y: number): boolean;
|
|
72
|
-
/**
|
|
73
|
-
* 检查指定点是否在矩形内
|
|
74
|
-
* @param point 要检查的点
|
|
75
|
-
* @returns 如果点在矩形内返回true,否则返回false
|
|
76
|
-
*/
|
|
77
|
-
contains(point: Vector2): boolean;
|
|
78
|
-
/**
|
|
79
|
-
* 检查当前矩形是否与另一个矩形相交
|
|
80
|
-
* @param other 要检查的矩形
|
|
81
|
-
* @returns 如果两个矩形相交返回true,否则返回false
|
|
82
|
-
*/
|
|
83
|
-
intersects(other: Rectangle): boolean;
|
|
84
|
-
/**
|
|
85
|
-
* 获取当前矩形与另一个矩形的交集
|
|
86
|
-
* @param other 要计算交集的矩形
|
|
87
|
-
* @returns 交集矩形,如果不相交则返回空矩形
|
|
88
|
-
*/
|
|
89
|
-
intersection(other: Rectangle): Rectangle;
|
|
90
|
-
/**
|
|
91
|
-
* 计算包含两个矩形的最小矩形
|
|
92
|
-
* @param rect1 第一个矩形
|
|
93
|
-
* @param rect2 第二个矩形
|
|
94
|
-
* @returns 包含两个矩形的最小矩形
|
|
95
|
-
*/
|
|
96
|
-
static union(rect1: Rectangle, rect2: Rectangle): Rectangle;
|
|
97
|
-
/**
|
|
98
|
-
* 按指定偏移量移动矩形
|
|
99
|
-
* @param offsetX X轴偏移量
|
|
100
|
-
* @param offsetY Y轴偏移量
|
|
101
|
-
*/
|
|
102
|
-
offset(offsetX: number, offsetY: number): void;
|
|
103
|
-
/**
|
|
104
|
-
* 按指定量扩展矩形
|
|
105
|
-
* @param horizontalAmount 水平扩展量
|
|
106
|
-
* @param verticalAmount 垂直扩展量
|
|
107
|
-
*/
|
|
108
|
-
inflate(horizontalAmount: number, verticalAmount: number): void;
|
|
109
|
-
/**
|
|
110
|
-
* 检查矩形是否为空(所有值都为0)
|
|
111
|
-
* @returns 如果矩形为空返回true,否则返回false
|
|
112
|
-
*/
|
|
113
|
-
isEmpty(): boolean;
|
|
114
|
-
/**
|
|
115
|
-
* 比较两个矩形是否相等
|
|
116
|
-
* @param other 要比较的矩形
|
|
117
|
-
* @returns 如果两个矩形相等返回true,否则返回false
|
|
118
|
-
*/
|
|
119
|
-
equals(other: Rectangle): boolean;
|
|
120
|
-
/**
|
|
121
|
-
* 创建当前矩形的副本
|
|
122
|
-
* @returns 矩形的副本
|
|
123
|
-
*/
|
|
124
|
-
clone(): Rectangle;
|
|
125
|
-
}
|
|
126
|
-
//# sourceMappingURL=Rectangle.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Rectangle.d.ts","sourceRoot":"","sources":["../../src/Math/Rectangle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;GAGG;AACH,qBAAa,SAAS;IAClB;;OAEG;IACI,CAAC,EAAE,MAAM,CAAK;IAErB;;OAEG;IACI,CAAC,EAAE,MAAM,CAAK;IAErB;;OAEG;IACI,KAAK,EAAE,MAAM,CAAK;IAEzB;;OAEG;IACI,MAAM,EAAE,MAAM,CAAK;IAE1B;;;;;;OAMG;gBACS,CAAC,GAAE,MAAU,EAAE,CAAC,GAAE,MAAU,EAAE,KAAK,GAAE,MAAU,EAAE,MAAM,GAAE,MAAU;IAO/E;;OAEG;IACH,WAAkB,KAAK,IAAI,SAAS,CAEnC;IAED;;OAEG;IACH,IAAW,IAAI,IAAI,MAAM,CAExB;IAED;;OAEG;IACH,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED;;OAEG;IACH,IAAW,GAAG,IAAI,MAAM,CAEvB;IAED;;OAEG;IACH,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED;;OAEG;IACH,IAAW,MAAM,IAAI,OAAO,CAE3B;IAED;;OAEG;IACH,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED,IAAW,QAAQ,CAAC,KAAK,EAAE,OAAO,EAGjC;IAED;;OAEG;IACH,IAAW,IAAI,IAAI,OAAO,CAEzB;IAED,IAAW,IAAI,CAAC,KAAK,EAAE,OAAO,EAG7B;IAED;;;;;OAKG;IACI,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO;IAC9C;;;;OAIG;IACI,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IASxC;;;;OAIG;IACI,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAK5C;;;;OAIG;IACI,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS;IAahD;;;;;OAKG;WACW,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS;IASlE;;;;OAIG;IACI,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAKrD;;;;OAIG;IACI,OAAO,CAAC,gBAAgB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI;IAOtE;;;OAGG;IACI,OAAO,IAAI,OAAO;IAIzB;;;;OAIG;IACI,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAKxC;;;OAGG;IACI,KAAK,IAAI,SAAS;CAG5B"}
|