@esengine/ecs-framework-math 1.0.3 → 2.8.0
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/LICENSE +21 -0
- package/bin/Animation/Easing.d.ts +150 -150
- package/bin/Animation/Easing.d.ts.map +1 -1
- package/bin/Animation/Easing.js +151 -151
- package/bin/Animation/Easing.js.map +1 -1
- package/bin/Animation/Interpolation.d.ts +102 -102
- package/bin/Animation/Interpolation.d.ts.map +1 -1
- package/bin/Animation/Interpolation.js +104 -104
- package/bin/Animation/Interpolation.js.map +1 -1
- package/bin/Animation/index.d.ts.map +1 -1
- package/bin/Animation/index.js.map +1 -1
- package/bin/Circle.d.ts +159 -159
- package/bin/Circle.d.ts.map +1 -1
- package/bin/Circle.js +159 -159
- package/bin/Circle.js.map +1 -1
- package/bin/Collision/CollisionDetector.d.ts +64 -64
- package/bin/Collision/CollisionDetector.d.ts.map +1 -1
- package/bin/Collision/CollisionDetector.js +66 -66
- package/bin/Collision/CollisionDetector.js.map +1 -1
- package/bin/Color.d.ts +277 -0
- package/bin/Color.d.ts.map +1 -0
- package/bin/Color.js +470 -0
- package/bin/Color.js.map +1 -0
- package/bin/Fixed32.d.ts +266 -0
- package/bin/Fixed32.d.ts.map +1 -0
- package/bin/Fixed32.js +381 -0
- package/bin/Fixed32.js.map +1 -0
- package/bin/FixedMath.d.ts +109 -0
- package/bin/FixedMath.d.ts.map +1 -0
- package/bin/FixedMath.js +264 -0
- package/bin/FixedMath.js.map +1 -0
- package/bin/FixedVector2.d.ts +293 -0
- package/bin/FixedVector2.d.ts.map +1 -0
- package/bin/FixedVector2.js +413 -0
- package/bin/FixedVector2.js.map +1 -0
- package/bin/MathUtils.d.ts +205 -205
- package/bin/MathUtils.d.ts.map +1 -1
- package/bin/MathUtils.js +206 -206
- package/bin/MathUtils.js.map +1 -1
- package/bin/Matrix3.d.ts +158 -139
- package/bin/Matrix3.d.ts.map +1 -1
- package/bin/Matrix3.js +179 -151
- package/bin/Matrix3.js.map +1 -1
- package/bin/Rectangle.d.ts +144 -144
- package/bin/Rectangle.d.ts.map +1 -1
- package/bin/Rectangle.js +144 -144
- package/bin/Rectangle.js.map +1 -1
- package/bin/Vector2.d.ts +202 -186
- package/bin/Vector2.d.ts.map +1 -1
- package/bin/Vector2.js +198 -188
- package/bin/Vector2.js.map +1 -1
- package/bin/Vector3.d.ts +257 -0
- package/bin/Vector3.d.ts.map +1 -0
- package/bin/Vector3.js +372 -0
- package/bin/Vector3.js.map +1 -0
- package/bin/index.d.ts +8 -1
- package/bin/index.d.ts.map +1 -1
- package/bin/index.js +9 -0
- package/bin/index.js.map +1 -1
- package/package.json +66 -67
package/bin/Rectangle.js
CHANGED
|
@@ -10,12 +10,12 @@ import { Vector2 } from './Vector2';
|
|
|
10
10
|
*/
|
|
11
11
|
export class Rectangle {
|
|
12
12
|
/**
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
* 创建矩形
|
|
14
|
+
* @param x 左上角X坐标,默认为0
|
|
15
|
+
* @param y 左上角Y坐标,默认为0
|
|
16
|
+
* @param width 宽度,默认为0
|
|
17
|
+
* @param height 高度,默认为0
|
|
18
|
+
*/
|
|
19
19
|
constructor(x = 0, y = 0, width = 0, height = 0) {
|
|
20
20
|
this.x = x;
|
|
21
21
|
this.y = y;
|
|
@@ -85,13 +85,13 @@ export class Rectangle {
|
|
|
85
85
|
}
|
|
86
86
|
// 基础操作
|
|
87
87
|
/**
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
88
|
+
* 设置矩形属性
|
|
89
|
+
* @param x 左上角X坐标
|
|
90
|
+
* @param y 左上角Y坐标
|
|
91
|
+
* @param width 宽度
|
|
92
|
+
* @param height 高度
|
|
93
|
+
* @returns 当前矩形实例(链式调用)
|
|
94
|
+
*/
|
|
95
95
|
set(x, y, width, height) {
|
|
96
96
|
this.x = x;
|
|
97
97
|
this.y = y;
|
|
@@ -100,10 +100,10 @@ export class Rectangle {
|
|
|
100
100
|
return this;
|
|
101
101
|
}
|
|
102
102
|
/**
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
103
|
+
* 复制另一个矩形的值
|
|
104
|
+
* @param other 源矩形
|
|
105
|
+
* @returns 当前矩形实例(链式调用)
|
|
106
|
+
*/
|
|
107
107
|
copy(other) {
|
|
108
108
|
this.x = other.x;
|
|
109
109
|
this.y = other.y;
|
|
@@ -112,40 +112,40 @@ export class Rectangle {
|
|
|
112
112
|
return this;
|
|
113
113
|
}
|
|
114
114
|
/**
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
115
|
+
* 克隆当前矩形
|
|
116
|
+
* @returns 新的矩形实例
|
|
117
|
+
*/
|
|
118
118
|
clone() {
|
|
119
119
|
return new Rectangle(this.x, this.y, this.width, this.height);
|
|
120
120
|
}
|
|
121
121
|
/**
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
122
|
+
* 设置矩形位置
|
|
123
|
+
* @param x 新的X坐标
|
|
124
|
+
* @param y 新的Y坐标
|
|
125
|
+
* @returns 当前矩形实例(链式调用)
|
|
126
|
+
*/
|
|
127
127
|
setPosition(x, y) {
|
|
128
128
|
this.x = x;
|
|
129
129
|
this.y = y;
|
|
130
130
|
return this;
|
|
131
131
|
}
|
|
132
132
|
/**
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
133
|
+
* 设置矩形大小
|
|
134
|
+
* @param width 新的宽度
|
|
135
|
+
* @param height 新的高度
|
|
136
|
+
* @returns 当前矩形实例(链式调用)
|
|
137
|
+
*/
|
|
138
138
|
setSize(width, height) {
|
|
139
139
|
this.width = width;
|
|
140
140
|
this.height = height;
|
|
141
141
|
return this;
|
|
142
142
|
}
|
|
143
143
|
/**
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
144
|
+
* 设置矩形中心点
|
|
145
|
+
* @param centerX 中心X坐标
|
|
146
|
+
* @param centerY 中心Y坐标
|
|
147
|
+
* @returns 当前矩形实例(链式调用)
|
|
148
|
+
*/
|
|
149
149
|
setCenter(centerX, centerY) {
|
|
150
150
|
this.x = centerX - this.width * 0.5;
|
|
151
151
|
this.y = centerY - this.height * 0.5;
|
|
@@ -153,22 +153,22 @@ export class Rectangle {
|
|
|
153
153
|
}
|
|
154
154
|
// 变换操作
|
|
155
155
|
/**
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
156
|
+
* 平移矩形
|
|
157
|
+
* @param dx X方向偏移
|
|
158
|
+
* @param dy Y方向偏移
|
|
159
|
+
* @returns 当前矩形实例(链式调用)
|
|
160
|
+
*/
|
|
161
161
|
translate(dx, dy) {
|
|
162
162
|
this.x += dx;
|
|
163
163
|
this.y += dy;
|
|
164
164
|
return this;
|
|
165
165
|
}
|
|
166
166
|
/**
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
167
|
+
* 缩放矩形(从中心缩放)
|
|
168
|
+
* @param scaleX X方向缩放因子
|
|
169
|
+
* @param scaleY Y方向缩放因子,默认等于scaleX
|
|
170
|
+
* @returns 当前矩形实例(链式调用)
|
|
171
|
+
*/
|
|
172
172
|
scale(scaleX, scaleY = scaleX) {
|
|
173
173
|
const centerX = this.centerX;
|
|
174
174
|
const centerY = this.centerY;
|
|
@@ -177,10 +177,10 @@ export class Rectangle {
|
|
|
177
177
|
return this.setCenter(centerX, centerY);
|
|
178
178
|
}
|
|
179
179
|
/**
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
180
|
+
* 扩展矩形
|
|
181
|
+
* @param amount 扩展量(正值扩大,负值缩小)
|
|
182
|
+
* @returns 当前矩形实例(链式调用)
|
|
183
|
+
*/
|
|
184
184
|
inflate(amount) {
|
|
185
185
|
this.x -= amount;
|
|
186
186
|
this.y -= amount;
|
|
@@ -189,11 +189,11 @@ export class Rectangle {
|
|
|
189
189
|
return this;
|
|
190
190
|
}
|
|
191
191
|
/**
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
192
|
+
* 扩展矩形(分别指定水平和垂直方向)
|
|
193
|
+
* @param horizontal 水平方向扩展量
|
|
194
|
+
* @param vertical 垂直方向扩展量
|
|
195
|
+
* @returns 当前矩形实例(链式调用)
|
|
196
|
+
*/
|
|
197
197
|
inflateXY(horizontal, vertical) {
|
|
198
198
|
this.x -= horizontal;
|
|
199
199
|
this.y -= vertical;
|
|
@@ -203,48 +203,48 @@ export class Rectangle {
|
|
|
203
203
|
}
|
|
204
204
|
// 包含检测
|
|
205
205
|
/**
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
206
|
+
* 检查是否包含指定点
|
|
207
|
+
* @param point 点
|
|
208
|
+
* @returns 是否包含
|
|
209
|
+
*/
|
|
210
210
|
containsPoint(point) {
|
|
211
211
|
return point.x >= this.x && point.x <= this.right &&
|
|
212
212
|
point.y >= this.y && point.y <= this.bottom;
|
|
213
213
|
}
|
|
214
214
|
/**
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
215
|
+
* 检查是否包含指定坐标
|
|
216
|
+
* @param x X坐标
|
|
217
|
+
* @param y Y坐标
|
|
218
|
+
* @returns 是否包含
|
|
219
|
+
*/
|
|
220
220
|
contains(x, y) {
|
|
221
221
|
return x >= this.x && x <= this.right &&
|
|
222
222
|
y >= this.y && y <= this.bottom;
|
|
223
223
|
}
|
|
224
224
|
/**
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
225
|
+
* 检查是否完全包含另一个矩形
|
|
226
|
+
* @param other 另一个矩形
|
|
227
|
+
* @returns 是否完全包含
|
|
228
|
+
*/
|
|
229
229
|
containsRect(other) {
|
|
230
230
|
return this.x <= other.x && this.y <= other.y &&
|
|
231
231
|
this.right >= other.right && this.bottom >= other.bottom;
|
|
232
232
|
}
|
|
233
233
|
// 相交检测
|
|
234
234
|
/**
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
235
|
+
* 检查是否与另一个矩形相交
|
|
236
|
+
* @param other 另一个矩形
|
|
237
|
+
* @returns 是否相交
|
|
238
|
+
*/
|
|
239
239
|
intersects(other) {
|
|
240
240
|
return this.x < other.right && this.right > other.x &&
|
|
241
241
|
this.y < other.bottom && this.bottom > other.y;
|
|
242
242
|
}
|
|
243
243
|
/**
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
244
|
+
* 计算与另一个矩形的相交矩形
|
|
245
|
+
* @param other 另一个矩形
|
|
246
|
+
* @returns 相交矩形,如果不相交返回空矩形
|
|
247
|
+
*/
|
|
248
248
|
intersection(other) {
|
|
249
249
|
if (!this.intersects(other)) {
|
|
250
250
|
return Rectangle.EMPTY.clone();
|
|
@@ -256,10 +256,10 @@ export class Rectangle {
|
|
|
256
256
|
return new Rectangle(x, y, right - x, bottom - y);
|
|
257
257
|
}
|
|
258
258
|
/**
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
259
|
+
* 计算与另一个矩形的并集矩形
|
|
260
|
+
* @param other 另一个矩形
|
|
261
|
+
* @returns 并集矩形
|
|
262
|
+
*/
|
|
263
263
|
union(other) {
|
|
264
264
|
const x = Math.min(this.x, other.x);
|
|
265
265
|
const y = Math.min(this.y, other.y);
|
|
@@ -268,30 +268,30 @@ export class Rectangle {
|
|
|
268
268
|
return new Rectangle(x, y, right - x, bottom - y);
|
|
269
269
|
}
|
|
270
270
|
/**
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
271
|
+
* 计算相交面积
|
|
272
|
+
* @param other 另一个矩形
|
|
273
|
+
* @returns 相交面积
|
|
274
|
+
*/
|
|
275
275
|
intersectionArea(other) {
|
|
276
276
|
const intersection = this.intersection(other);
|
|
277
277
|
return intersection.isEmpty ? 0 : intersection.area;
|
|
278
278
|
}
|
|
279
279
|
// 距离计算
|
|
280
280
|
/**
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
281
|
+
* 计算点到矩形的最短距离
|
|
282
|
+
* @param point 点
|
|
283
|
+
* @returns 最短距离
|
|
284
|
+
*/
|
|
285
285
|
distanceToPoint(point) {
|
|
286
286
|
const dx = Math.max(0, Math.max(this.x - point.x, point.x - this.right));
|
|
287
287
|
const dy = Math.max(0, Math.max(this.y - point.y, point.y - this.bottom));
|
|
288
288
|
return Math.sqrt(dx * dx + dy * dy);
|
|
289
289
|
}
|
|
290
290
|
/**
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
291
|
+
* 计算两个矩形间的最短距离
|
|
292
|
+
* @param other 另一个矩形
|
|
293
|
+
* @returns 最短距离(相交时为0)
|
|
294
|
+
*/
|
|
295
295
|
distanceToRect(other) {
|
|
296
296
|
if (this.intersects(other)) {
|
|
297
297
|
return 0;
|
|
@@ -301,20 +301,20 @@ export class Rectangle {
|
|
|
301
301
|
return Math.sqrt(dx * dx + dy * dy);
|
|
302
302
|
}
|
|
303
303
|
/**
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
304
|
+
* 获取矩形上距离指定点最近的点
|
|
305
|
+
* @param point 指定点
|
|
306
|
+
* @returns 最近点
|
|
307
|
+
*/
|
|
308
308
|
closestPointTo(point) {
|
|
309
309
|
return new Vector2(Math.max(this.x, Math.min(this.right, point.x)), Math.max(this.y, Math.min(this.bottom, point.y)));
|
|
310
310
|
}
|
|
311
311
|
// 比较操作
|
|
312
312
|
/**
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
313
|
+
* 检查两个矩形是否相等
|
|
314
|
+
* @param other 另一个矩形
|
|
315
|
+
* @param epsilon 容差,默认为Number.EPSILON
|
|
316
|
+
* @returns 是否相等
|
|
317
|
+
*/
|
|
318
318
|
equals(other, epsilon = Number.EPSILON) {
|
|
319
319
|
return Math.abs(this.x - other.x) < epsilon &&
|
|
320
320
|
Math.abs(this.y - other.y) < epsilon &&
|
|
@@ -322,32 +322,32 @@ export class Rectangle {
|
|
|
322
322
|
Math.abs(this.height - other.height) < epsilon;
|
|
323
323
|
}
|
|
324
324
|
/**
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
325
|
+
* 检查两个矩形是否完全相等
|
|
326
|
+
* @param other 另一个矩形
|
|
327
|
+
* @returns 是否完全相等
|
|
328
|
+
*/
|
|
329
329
|
exactEquals(other) {
|
|
330
330
|
return this.x === other.x && this.y === other.y &&
|
|
331
331
|
this.width === other.width && this.height === other.height;
|
|
332
332
|
}
|
|
333
333
|
// 静态方法
|
|
334
334
|
/**
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
335
|
+
* 从中心点和大小创建矩形
|
|
336
|
+
* @param centerX 中心X坐标
|
|
337
|
+
* @param centerY 中心Y坐标
|
|
338
|
+
* @param width 宽度
|
|
339
|
+
* @param height 高度
|
|
340
|
+
* @returns 新的矩形实例
|
|
341
|
+
*/
|
|
342
342
|
static fromCenter(centerX, centerY, width, height) {
|
|
343
343
|
return new Rectangle(centerX - width * 0.5, centerY - height * 0.5, width, height);
|
|
344
344
|
}
|
|
345
345
|
/**
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
346
|
+
* 从两个点创建矩形
|
|
347
|
+
* @param point1 第一个点
|
|
348
|
+
* @param point2 第二个点
|
|
349
|
+
* @returns 新的矩形实例
|
|
350
|
+
*/
|
|
351
351
|
static fromPoints(point1, point2) {
|
|
352
352
|
const x = Math.min(point1.x, point2.x);
|
|
353
353
|
const y = Math.min(point1.y, point2.y);
|
|
@@ -356,10 +356,10 @@ export class Rectangle {
|
|
|
356
356
|
return new Rectangle(x, y, width, height);
|
|
357
357
|
}
|
|
358
358
|
/**
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
359
|
+
* 从点数组创建包围矩形
|
|
360
|
+
* @param points 点数组
|
|
361
|
+
* @returns 包围矩形
|
|
362
|
+
*/
|
|
363
363
|
static fromPointArray(points) {
|
|
364
364
|
if (points.length === 0) {
|
|
365
365
|
return Rectangle.EMPTY.clone();
|
|
@@ -377,51 +377,51 @@ export class Rectangle {
|
|
|
377
377
|
return new Rectangle(minX, minY, maxX - minX, maxY - minY);
|
|
378
378
|
}
|
|
379
379
|
/**
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
380
|
+
* 创建正方形
|
|
381
|
+
* @param x 左上角X坐标
|
|
382
|
+
* @param y 左上角Y坐标
|
|
383
|
+
* @param size 边长
|
|
384
|
+
* @returns 新的正方形矩形
|
|
385
|
+
*/
|
|
386
386
|
static square(x, y, size) {
|
|
387
387
|
return new Rectangle(x, y, size, size);
|
|
388
388
|
}
|
|
389
389
|
/**
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
390
|
+
* 线性插值两个矩形
|
|
391
|
+
* @param a 起始矩形
|
|
392
|
+
* @param b 目标矩形
|
|
393
|
+
* @param t 插值参数(0到1)
|
|
394
|
+
* @returns 新的插值结果矩形
|
|
395
|
+
*/
|
|
396
396
|
static lerp(a, b, t) {
|
|
397
397
|
return new Rectangle(a.x + (b.x - a.x) * t, a.y + (b.y - a.y) * t, a.width + (b.width - a.width) * t, a.height + (b.height - a.height) * t);
|
|
398
398
|
}
|
|
399
399
|
// 字符串转换
|
|
400
400
|
/**
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
401
|
+
* 转换为字符串
|
|
402
|
+
* @returns 字符串表示
|
|
403
|
+
*/
|
|
404
404
|
toString() {
|
|
405
405
|
return `Rectangle(${this.x.toFixed(2)}, ${this.y.toFixed(2)}, ${this.width.toFixed(2)}, ${this.height.toFixed(2)})`;
|
|
406
406
|
}
|
|
407
407
|
/**
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
408
|
+
* 转换为数组
|
|
409
|
+
* @returns [x, y, width, height] 数组
|
|
410
|
+
*/
|
|
411
411
|
toArray() {
|
|
412
412
|
return [this.x, this.y, this.width, this.height];
|
|
413
413
|
}
|
|
414
414
|
/**
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
415
|
+
* 转换为普通对象
|
|
416
|
+
* @returns {x, y, width, height} 对象
|
|
417
|
+
*/
|
|
418
418
|
toObject() {
|
|
419
419
|
return { x: this.x, y: this.y, width: this.width, height: this.height };
|
|
420
420
|
}
|
|
421
421
|
/**
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
422
|
+
* 获取四个顶点
|
|
423
|
+
* @returns 顶点数组 [topLeft, topRight, bottomRight, bottomLeft]
|
|
424
|
+
*/
|
|
425
425
|
getVertices() {
|
|
426
426
|
return [
|
|
427
427
|
this.topLeft,
|
package/bin/Rectangle.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rectangle.js","sourceRoot":"","sources":["../src/Rectangle.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Rectangle.js","sourceRoot":"","sources":["../src/Rectangle.ts"],"names":[],"mappings":"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"}
|