@esengine/ecs-framework-math 2.10.1 → 2.10.3
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/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +10175 -0
- package/dist/index.mjs +2 -0
- package/dist/index.mjs.map +1 -0
- package/dist/index.umd.js +2 -0
- package/dist/index.umd.js.map +1 -0
- package/package.json +20 -11
- package/bin/Animation/Easing.d.ts +0 -244
- package/bin/Animation/Easing.d.ts.map +0 -1
- package/bin/Animation/Easing.js +0 -407
- package/bin/Animation/Easing.js.map +0 -1
- package/bin/Animation/Interpolation.d.ts +0 -172
- package/bin/Animation/Interpolation.d.ts.map +0 -1
- package/bin/Animation/Interpolation.js +0 -327
- package/bin/Animation/Interpolation.js.map +0 -1
- package/bin/Animation/index.d.ts +0 -8
- package/bin/Animation/index.d.ts.map +0 -1
- package/bin/Animation/index.js +0 -8
- package/bin/Animation/index.js.map +0 -1
- package/bin/Circle.d.ts +0 -277
- package/bin/Circle.d.ts.map +0 -1
- package/bin/Circle.js +0 -496
- package/bin/Circle.js.map +0 -1
- package/bin/Collision/CollisionDetector.d.ts +0 -114
- package/bin/Collision/CollisionDetector.d.ts.map +0 -1
- package/bin/Collision/CollisionDetector.js +0 -353
- package/bin/Collision/CollisionDetector.js.map +0 -1
- package/bin/Collision/index.d.ts +0 -7
- package/bin/Collision/index.d.ts.map +0 -1
- package/bin/Collision/index.js +0 -7
- package/bin/Collision/index.js.map +0 -1
- package/bin/Color.d.ts +0 -277
- package/bin/Color.d.ts.map +0 -1
- package/bin/Color.js +0 -470
- package/bin/Color.js.map +0 -1
- package/bin/Fixed32.d.ts +0 -266
- package/bin/Fixed32.d.ts.map +0 -1
- package/bin/Fixed32.js +0 -381
- package/bin/Fixed32.js.map +0 -1
- package/bin/FixedMath.d.ts +0 -109
- package/bin/FixedMath.d.ts.map +0 -1
- package/bin/FixedMath.js +0 -264
- package/bin/FixedMath.js.map +0 -1
- package/bin/FixedVector2.d.ts +0 -293
- package/bin/FixedVector2.d.ts.map +0 -1
- package/bin/FixedVector2.js +0 -413
- package/bin/FixedVector2.js.map +0 -1
- package/bin/MathUtils.d.ts +0 -312
- package/bin/MathUtils.d.ts.map +0 -1
- package/bin/MathUtils.js +0 -500
- package/bin/MathUtils.js.map +0 -1
- package/bin/Matrix3.d.ts +0 -288
- package/bin/Matrix3.d.ts.map +0 -1
- package/bin/Matrix3.js +0 -542
- package/bin/Matrix3.js.map +0 -1
- package/bin/Rectangle.d.ts +0 -266
- package/bin/Rectangle.d.ts.map +0 -1
- package/bin/Rectangle.js +0 -437
- package/bin/Rectangle.js.map +0 -1
- package/bin/Vector2.d.ts +0 -333
- package/bin/Vector2.d.ts.map +0 -1
- package/bin/Vector2.js +0 -484
- package/bin/Vector2.js.map +0 -1
- package/bin/Vector3.d.ts +0 -257
- package/bin/Vector3.d.ts.map +0 -1
- package/bin/Vector3.js +0 -372
- package/bin/Vector3.js.map +0 -1
- package/bin/index.d.ts +0 -25
- package/bin/index.d.ts.map +0 -1
- package/bin/index.js +0 -32
- package/bin/index.js.map +0 -1
- package/bin/nodes/ColorNodes.d.ts +0 -70
- package/bin/nodes/ColorNodes.d.ts.map +0 -1
- package/bin/nodes/ColorNodes.js +0 -427
- package/bin/nodes/ColorNodes.js.map +0 -1
- package/bin/nodes/FixedNodes.d.ts +0 -98
- package/bin/nodes/FixedNodes.d.ts.map +0 -1
- package/bin/nodes/FixedNodes.js +0 -612
- package/bin/nodes/FixedNodes.js.map +0 -1
- package/bin/nodes/FixedVectorNodes.d.ts +0 -58
- package/bin/nodes/FixedVectorNodes.d.ts.map +0 -1
- package/bin/nodes/FixedVectorNodes.js +0 -330
- package/bin/nodes/FixedVectorNodes.js.map +0 -1
- package/bin/nodes/VectorNodes.d.ts +0 -62
- package/bin/nodes/VectorNodes.d.ts.map +0 -1
- package/bin/nodes/VectorNodes.js +0 -355
- package/bin/nodes/VectorNodes.js.map +0 -1
- package/bin/nodes/index.d.ts +0 -20
- package/bin/nodes/index.d.ts.map +0 -1
- package/bin/nodes/index.js +0 -27
- package/bin/nodes/index.js.map +0 -1
package/bin/FixedVector2.js
DELETED
|
@@ -1,413 +0,0 @@
|
|
|
1
|
-
import { Fixed32 } from './Fixed32';
|
|
2
|
-
import { FixedMath } from './FixedMath';
|
|
3
|
-
/**
|
|
4
|
-
* @zh 定点数 2D 向量类,用于确定性计算(帧同步)
|
|
5
|
-
* @en Fixed-point 2D vector class for deterministic calculations (lockstep)
|
|
6
|
-
*
|
|
7
|
-
* @zh 所有运算返回新实例,保证不可变性
|
|
8
|
-
* @en All operations return new instances, ensuring immutability
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* ```typescript
|
|
12
|
-
* const a = FixedVector2.from(3, 4);
|
|
13
|
-
* const b = FixedVector2.from(1, 2);
|
|
14
|
-
* const c = a.add(b); // (4, 6)
|
|
15
|
-
* const len = a.length(); // 5
|
|
16
|
-
* ```
|
|
17
|
-
*/
|
|
18
|
-
export class FixedVector2 {
|
|
19
|
-
// ==================== 构造 ====================
|
|
20
|
-
/**
|
|
21
|
-
* @zh 创建定点数向量
|
|
22
|
-
* @en Create fixed-point vector
|
|
23
|
-
*/
|
|
24
|
-
constructor(x, y) {
|
|
25
|
-
this.x = x;
|
|
26
|
-
this.y = y;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* @zh 从浮点数创建向量
|
|
30
|
-
* @en Create vector from floating-point numbers
|
|
31
|
-
*/
|
|
32
|
-
static from(x, y) {
|
|
33
|
-
return new FixedVector2(Fixed32.from(x), Fixed32.from(y));
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* @zh 从原始整数值创建向量
|
|
37
|
-
* @en Create vector from raw integer values
|
|
38
|
-
*/
|
|
39
|
-
static fromRaw(rawX, rawY) {
|
|
40
|
-
return new FixedVector2(Fixed32.fromRaw(rawX), Fixed32.fromRaw(rawY));
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* @zh 从整数创建向量
|
|
44
|
-
* @en Create vector from integers
|
|
45
|
-
*/
|
|
46
|
-
static fromInt(x, y) {
|
|
47
|
-
return new FixedVector2(Fixed32.fromInt(x), Fixed32.fromInt(y));
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* @zh 从普通向量接口创建
|
|
51
|
-
* @en Create from plain vector interface
|
|
52
|
-
*/
|
|
53
|
-
static fromObject(obj) {
|
|
54
|
-
return FixedVector2.from(obj.x, obj.y);
|
|
55
|
-
}
|
|
56
|
-
// ==================== 转换 ====================
|
|
57
|
-
/**
|
|
58
|
-
* @zh 转换为浮点数对象(用于渲染)
|
|
59
|
-
* @en Convert to floating-point object (for rendering)
|
|
60
|
-
*/
|
|
61
|
-
toObject() {
|
|
62
|
-
return {
|
|
63
|
-
x: this.x.toNumber(),
|
|
64
|
-
y: this.y.toNumber()
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* @zh 转换为数组
|
|
69
|
-
* @en Convert to array
|
|
70
|
-
*/
|
|
71
|
-
toArray() {
|
|
72
|
-
return [this.x.toNumber(), this.y.toNumber()];
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* @zh 获取原始值对象(用于网络传输)
|
|
76
|
-
* @en Get raw values object (for network transmission)
|
|
77
|
-
*/
|
|
78
|
-
toRawObject() {
|
|
79
|
-
return {
|
|
80
|
-
x: this.x.toRaw(),
|
|
81
|
-
y: this.y.toRaw()
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* @zh 转换为字符串
|
|
86
|
-
* @en Convert to string
|
|
87
|
-
*/
|
|
88
|
-
toString() {
|
|
89
|
-
return `FixedVector2(${this.x.toNumber().toFixed(3)}, ${this.y.toNumber().toFixed(3)})`;
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* @zh 克隆向量
|
|
93
|
-
* @en Clone vector
|
|
94
|
-
*/
|
|
95
|
-
clone() {
|
|
96
|
-
return new FixedVector2(this.x, this.y);
|
|
97
|
-
}
|
|
98
|
-
// ==================== 基础运算 ====================
|
|
99
|
-
/**
|
|
100
|
-
* @zh 向量加法
|
|
101
|
-
* @en Vector addition
|
|
102
|
-
*/
|
|
103
|
-
add(other) {
|
|
104
|
-
return new FixedVector2(this.x.add(other.x), this.y.add(other.y));
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* @zh 向量减法
|
|
108
|
-
* @en Vector subtraction
|
|
109
|
-
*/
|
|
110
|
-
sub(other) {
|
|
111
|
-
return new FixedVector2(this.x.sub(other.x), this.y.sub(other.y));
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* @zh 标量乘法
|
|
115
|
-
* @en Scalar multiplication
|
|
116
|
-
*/
|
|
117
|
-
mul(scalar) {
|
|
118
|
-
return new FixedVector2(this.x.mul(scalar), this.y.mul(scalar));
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* @zh 标量除法
|
|
122
|
-
* @en Scalar division
|
|
123
|
-
*/
|
|
124
|
-
div(scalar) {
|
|
125
|
-
return new FixedVector2(this.x.div(scalar), this.y.div(scalar));
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* @zh 分量乘法
|
|
129
|
-
* @en Component-wise multiplication
|
|
130
|
-
*/
|
|
131
|
-
mulComponents(other) {
|
|
132
|
-
return new FixedVector2(this.x.mul(other.x), this.y.mul(other.y));
|
|
133
|
-
}
|
|
134
|
-
/**
|
|
135
|
-
* @zh 分量除法
|
|
136
|
-
* @en Component-wise division
|
|
137
|
-
*/
|
|
138
|
-
divComponents(other) {
|
|
139
|
-
return new FixedVector2(this.x.div(other.x), this.y.div(other.y));
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* @zh 取反
|
|
143
|
-
* @en Negate
|
|
144
|
-
*/
|
|
145
|
-
neg() {
|
|
146
|
-
return new FixedVector2(this.x.neg(), this.y.neg());
|
|
147
|
-
}
|
|
148
|
-
// ==================== 向量运算 ====================
|
|
149
|
-
/**
|
|
150
|
-
* @zh 点积
|
|
151
|
-
* @en Dot product
|
|
152
|
-
*/
|
|
153
|
-
dot(other) {
|
|
154
|
-
return this.x.mul(other.x).add(this.y.mul(other.y));
|
|
155
|
-
}
|
|
156
|
-
/**
|
|
157
|
-
* @zh 叉积(2D 返回标量)
|
|
158
|
-
* @en Cross product (returns scalar in 2D)
|
|
159
|
-
*/
|
|
160
|
-
cross(other) {
|
|
161
|
-
return this.x.mul(other.y).sub(this.y.mul(other.x));
|
|
162
|
-
}
|
|
163
|
-
/**
|
|
164
|
-
* @zh 长度的平方
|
|
165
|
-
* @en Length squared
|
|
166
|
-
*/
|
|
167
|
-
lengthSquared() {
|
|
168
|
-
return this.dot(this);
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* @zh 长度(模)
|
|
172
|
-
* @en Length (magnitude)
|
|
173
|
-
*/
|
|
174
|
-
length() {
|
|
175
|
-
return Fixed32.sqrt(this.lengthSquared());
|
|
176
|
-
}
|
|
177
|
-
/**
|
|
178
|
-
* @zh 归一化(转换为单位向量)
|
|
179
|
-
* @en Normalize (convert to unit vector)
|
|
180
|
-
*/
|
|
181
|
-
normalize() {
|
|
182
|
-
const len = this.length();
|
|
183
|
-
if (len.isZero()) {
|
|
184
|
-
return FixedVector2.ZERO;
|
|
185
|
-
}
|
|
186
|
-
return this.div(len);
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* @zh 到另一个向量的距离平方
|
|
190
|
-
* @en Distance squared to another vector
|
|
191
|
-
*/
|
|
192
|
-
distanceSquaredTo(other) {
|
|
193
|
-
const dx = this.x.sub(other.x);
|
|
194
|
-
const dy = this.y.sub(other.y);
|
|
195
|
-
return dx.mul(dx).add(dy.mul(dy));
|
|
196
|
-
}
|
|
197
|
-
/**
|
|
198
|
-
* @zh 到另一个向量的距离
|
|
199
|
-
* @en Distance to another vector
|
|
200
|
-
*/
|
|
201
|
-
distanceTo(other) {
|
|
202
|
-
return Fixed32.sqrt(this.distanceSquaredTo(other));
|
|
203
|
-
}
|
|
204
|
-
/**
|
|
205
|
-
* @zh 获取垂直向量(顺时针旋转90度)
|
|
206
|
-
* @en Get perpendicular vector (clockwise 90 degrees)
|
|
207
|
-
*/
|
|
208
|
-
perpendicular() {
|
|
209
|
-
return new FixedVector2(this.y, this.x.neg());
|
|
210
|
-
}
|
|
211
|
-
/**
|
|
212
|
-
* @zh 获取垂直向量(逆时针旋转90度)
|
|
213
|
-
* @en Get perpendicular vector (counter-clockwise 90 degrees)
|
|
214
|
-
*/
|
|
215
|
-
perpendicularCCW() {
|
|
216
|
-
return new FixedVector2(this.y.neg(), this.x);
|
|
217
|
-
}
|
|
218
|
-
/**
|
|
219
|
-
* @zh 投影到另一个向量上
|
|
220
|
-
* @en Project onto another vector
|
|
221
|
-
*/
|
|
222
|
-
projectOnto(onto) {
|
|
223
|
-
const dot = this.dot(onto);
|
|
224
|
-
const lenSq = onto.lengthSquared();
|
|
225
|
-
if (lenSq.isZero()) {
|
|
226
|
-
return FixedVector2.ZERO;
|
|
227
|
-
}
|
|
228
|
-
return onto.mul(dot.div(lenSq));
|
|
229
|
-
}
|
|
230
|
-
/**
|
|
231
|
-
* @zh 反射向量(关于法线)
|
|
232
|
-
* @en Reflect vector (about normal)
|
|
233
|
-
*/
|
|
234
|
-
reflect(normal) {
|
|
235
|
-
const dot = this.dot(normal);
|
|
236
|
-
const two = Fixed32.from(2);
|
|
237
|
-
return this.sub(normal.mul(two.mul(dot)));
|
|
238
|
-
}
|
|
239
|
-
// ==================== 旋转和角度 ====================
|
|
240
|
-
/**
|
|
241
|
-
* @zh 旋转向量(顺时针为正,左手坐标系)
|
|
242
|
-
* @en Rotate vector (clockwise positive, left-hand coordinate system)
|
|
243
|
-
* @param angle - @zh 旋转角度(弧度)@en Rotation angle in radians
|
|
244
|
-
*/
|
|
245
|
-
rotate(angle) {
|
|
246
|
-
const cos = FixedMath.cos(angle);
|
|
247
|
-
const sin = FixedMath.sin(angle);
|
|
248
|
-
// 顺时针旋转: x' = x*cos + y*sin, y' = -x*sin + y*cos
|
|
249
|
-
return new FixedVector2(this.x.mul(cos).add(this.y.mul(sin)), this.x.neg().mul(sin).add(this.y.mul(cos)));
|
|
250
|
-
}
|
|
251
|
-
/**
|
|
252
|
-
* @zh 围绕一个点旋转
|
|
253
|
-
* @en Rotate around a point
|
|
254
|
-
*/
|
|
255
|
-
rotateAround(center, angle) {
|
|
256
|
-
return this.sub(center).rotate(angle).add(center);
|
|
257
|
-
}
|
|
258
|
-
/**
|
|
259
|
-
* @zh 获取向量角度(弧度)
|
|
260
|
-
* @en Get vector angle in radians
|
|
261
|
-
*/
|
|
262
|
-
angle() {
|
|
263
|
-
return FixedMath.atan2(this.y, this.x);
|
|
264
|
-
}
|
|
265
|
-
/**
|
|
266
|
-
* @zh 获取与另一个向量的夹角
|
|
267
|
-
* @en Get angle between this and another vector
|
|
268
|
-
*/
|
|
269
|
-
angleTo(other) {
|
|
270
|
-
const cross = this.cross(other);
|
|
271
|
-
const dot = this.dot(other);
|
|
272
|
-
return FixedMath.atan2(cross, dot);
|
|
273
|
-
}
|
|
274
|
-
/**
|
|
275
|
-
* @zh 从极坐标创建向量
|
|
276
|
-
* @en Create vector from polar coordinates
|
|
277
|
-
*/
|
|
278
|
-
static fromPolar(length, angle) {
|
|
279
|
-
return new FixedVector2(length.mul(FixedMath.cos(angle)), length.mul(FixedMath.sin(angle)));
|
|
280
|
-
}
|
|
281
|
-
/**
|
|
282
|
-
* @zh 从角度创建单位向量
|
|
283
|
-
* @en Create unit vector from angle
|
|
284
|
-
*/
|
|
285
|
-
static fromAngle(angle) {
|
|
286
|
-
return new FixedVector2(FixedMath.cos(angle), FixedMath.sin(angle));
|
|
287
|
-
}
|
|
288
|
-
// ==================== 比较运算 ====================
|
|
289
|
-
/**
|
|
290
|
-
* @zh 检查是否相等
|
|
291
|
-
* @en Check equality
|
|
292
|
-
*/
|
|
293
|
-
equals(other) {
|
|
294
|
-
return this.x.eq(other.x) && this.y.eq(other.y);
|
|
295
|
-
}
|
|
296
|
-
/**
|
|
297
|
-
* @zh 检查是否为零向量
|
|
298
|
-
* @en Check if zero vector
|
|
299
|
-
*/
|
|
300
|
-
isZero() {
|
|
301
|
-
return this.x.isZero() && this.y.isZero();
|
|
302
|
-
}
|
|
303
|
-
// ==================== 限制和插值 ====================
|
|
304
|
-
/**
|
|
305
|
-
* @zh 限制长度
|
|
306
|
-
* @en Clamp length
|
|
307
|
-
*/
|
|
308
|
-
clampLength(maxLength) {
|
|
309
|
-
const lenSq = this.lengthSquared();
|
|
310
|
-
const maxLenSq = maxLength.mul(maxLength);
|
|
311
|
-
if (lenSq.gt(maxLenSq)) {
|
|
312
|
-
return this.normalize().mul(maxLength);
|
|
313
|
-
}
|
|
314
|
-
return this;
|
|
315
|
-
}
|
|
316
|
-
/**
|
|
317
|
-
* @zh 限制分量范围
|
|
318
|
-
* @en Clamp components
|
|
319
|
-
*/
|
|
320
|
-
clamp(min, max) {
|
|
321
|
-
return new FixedVector2(Fixed32.clamp(this.x, min.x, max.x), Fixed32.clamp(this.y, min.y, max.y));
|
|
322
|
-
}
|
|
323
|
-
/**
|
|
324
|
-
* @zh 线性插值
|
|
325
|
-
* @en Linear interpolation
|
|
326
|
-
*/
|
|
327
|
-
lerp(target, t) {
|
|
328
|
-
return new FixedVector2(Fixed32.lerp(this.x, target.x, t), Fixed32.lerp(this.y, target.y, t));
|
|
329
|
-
}
|
|
330
|
-
/**
|
|
331
|
-
* @zh 向目标移动固定距离
|
|
332
|
-
* @en Move towards target by fixed distance
|
|
333
|
-
*/
|
|
334
|
-
moveTowards(target, maxDistance) {
|
|
335
|
-
const diff = target.sub(this);
|
|
336
|
-
const dist = diff.length();
|
|
337
|
-
if (dist.isZero() || dist.le(maxDistance)) {
|
|
338
|
-
return target;
|
|
339
|
-
}
|
|
340
|
-
return this.add(diff.div(dist).mul(maxDistance));
|
|
341
|
-
}
|
|
342
|
-
// ==================== 静态方法 ====================
|
|
343
|
-
/**
|
|
344
|
-
* @zh 向量加法(静态)
|
|
345
|
-
* @en Vector addition (static)
|
|
346
|
-
*/
|
|
347
|
-
static add(a, b) {
|
|
348
|
-
return a.add(b);
|
|
349
|
-
}
|
|
350
|
-
/**
|
|
351
|
-
* @zh 向量减法(静态)
|
|
352
|
-
* @en Vector subtraction (static)
|
|
353
|
-
*/
|
|
354
|
-
static sub(a, b) {
|
|
355
|
-
return a.sub(b);
|
|
356
|
-
}
|
|
357
|
-
/**
|
|
358
|
-
* @zh 点积(静态)
|
|
359
|
-
* @en Dot product (static)
|
|
360
|
-
*/
|
|
361
|
-
static dot(a, b) {
|
|
362
|
-
return a.dot(b);
|
|
363
|
-
}
|
|
364
|
-
/**
|
|
365
|
-
* @zh 叉积(静态)
|
|
366
|
-
* @en Cross product (static)
|
|
367
|
-
*/
|
|
368
|
-
static cross(a, b) {
|
|
369
|
-
return a.cross(b);
|
|
370
|
-
}
|
|
371
|
-
/**
|
|
372
|
-
* @zh 距离(静态)
|
|
373
|
-
* @en Distance (static)
|
|
374
|
-
*/
|
|
375
|
-
static distance(a, b) {
|
|
376
|
-
return a.distanceTo(b);
|
|
377
|
-
}
|
|
378
|
-
/**
|
|
379
|
-
* @zh 线性插值(静态)
|
|
380
|
-
* @en Linear interpolation (static)
|
|
381
|
-
*/
|
|
382
|
-
static lerp(a, b, t) {
|
|
383
|
-
return a.lerp(b, t);
|
|
384
|
-
}
|
|
385
|
-
/**
|
|
386
|
-
* @zh 获取两个向量的最小分量
|
|
387
|
-
* @en Get minimum components of two vectors
|
|
388
|
-
*/
|
|
389
|
-
static min(a, b) {
|
|
390
|
-
return new FixedVector2(Fixed32.min(a.x, b.x), Fixed32.min(a.y, b.y));
|
|
391
|
-
}
|
|
392
|
-
/**
|
|
393
|
-
* @zh 获取两个向量的最大分量
|
|
394
|
-
* @en Get maximum components of two vectors
|
|
395
|
-
*/
|
|
396
|
-
static max(a, b) {
|
|
397
|
-
return new FixedVector2(Fixed32.max(a.x, b.x), Fixed32.max(a.y, b.y));
|
|
398
|
-
}
|
|
399
|
-
}
|
|
400
|
-
// ==================== 常量 ====================
|
|
401
|
-
/** @zh 零向量 (0, 0) @en Zero vector */
|
|
402
|
-
FixedVector2.ZERO = new FixedVector2(Fixed32.ZERO, Fixed32.ZERO);
|
|
403
|
-
/** @zh 单位向量 (1, 1) @en One vector */
|
|
404
|
-
FixedVector2.ONE = new FixedVector2(Fixed32.ONE, Fixed32.ONE);
|
|
405
|
-
/** @zh 右方向 (1, 0) @en Right direction */
|
|
406
|
-
FixedVector2.RIGHT = new FixedVector2(Fixed32.ONE, Fixed32.ZERO);
|
|
407
|
-
/** @zh 左方向 (-1, 0) @en Left direction */
|
|
408
|
-
FixedVector2.LEFT = new FixedVector2(Fixed32.NEG_ONE, Fixed32.ZERO);
|
|
409
|
-
/** @zh 上方向 (0, 1) @en Up direction */
|
|
410
|
-
FixedVector2.UP = new FixedVector2(Fixed32.ZERO, Fixed32.ONE);
|
|
411
|
-
/** @zh 下方向 (0, -1) @en Down direction */
|
|
412
|
-
FixedVector2.DOWN = new FixedVector2(Fixed32.ZERO, Fixed32.NEG_ONE);
|
|
413
|
-
//# sourceMappingURL=FixedVector2.js.map
|
package/bin/FixedVector2.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FixedVector2.js","sourceRoot":"","sources":["../src/FixedVector2.ts"],"names":[],"mappings":"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"}
|