littlejsengine 1.16.1 → 1.16.2
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/littlejs.d.ts +91 -78
- package/dist/littlejs.esm.js +287 -272
- package/dist/littlejs.esm.min.js +1 -1
- package/dist/littlejs.js +279 -266
- package/dist/littlejs.min.js +1 -1
- package/dist/littlejs.release.js +184 -175
- package/examples/box2d/gameObjects.js +5 -5
- package/examples/electron/index.html +2 -2
- package/examples/logo.png +0 -0
- package/examples/logo2.png +0 -0
- package/examples/platformer/gameEffects.js +1 -1
- package/examples/shorts/base.html +2 -1
- package/examples/starter/index.html +3 -2
- package/package.json +1 -1
- package/plugins/uiSystem.js +1 -1
- package/reference.md +5 -5
- package/src/engine.js +16 -28
- package/src/engineAudio.js +2 -4
- package/src/engineBuild.js +1 -0
- package/src/engineDebug.js +96 -94
- package/src/engineDraw.js +8 -28
- package/src/engineExport.js +8 -6
- package/src/engineInput.js +3 -6
- package/src/engineMath.js +1201 -0
- package/src/engineMedals.js +4 -4
- package/src/engineObject.js +1 -2
- package/src/engineRelease.js +1 -3
- package/src/engineSettings.js +2 -2
- package/src/engineTileLayer.js +7 -9
- package/src/engineUtilities.js +34 -1179
- package/src/engineWebGL.js +7 -10
package/dist/littlejs.d.ts
CHANGED
|
@@ -283,37 +283,20 @@ declare module "littlejsengine" {
|
|
|
283
283
|
/** Trigger debug system to take a screenshot
|
|
284
284
|
* @memberof Debug */
|
|
285
285
|
export function debugScreenshot(): void;
|
|
286
|
-
/** Save a canvas to disk
|
|
287
|
-
* @param {HTMLCanvasElement|OffscreenCanvas} canvas
|
|
288
|
-
* @param {string} [filename]
|
|
289
|
-
* @param {string} [type]
|
|
290
|
-
* @memberof Debug */
|
|
291
|
-
export function debugSaveCanvas(canvas: HTMLCanvasElement | OffscreenCanvas, filename?: string, type?: string): void;
|
|
292
|
-
/** Save a text file to disk
|
|
293
|
-
* @param {string} text
|
|
294
|
-
* @param {string} [filename]
|
|
295
|
-
* @param {string} [type]
|
|
296
|
-
* @memberof Debug */
|
|
297
|
-
export function debugSaveText(text: string, filename?: string, type?: string): void;
|
|
298
|
-
/** Save a data url to disk
|
|
299
|
-
* @param {string} dataURL
|
|
300
|
-
* @param {string} filename
|
|
301
|
-
* @memberof Debug */
|
|
302
|
-
export function debugSaveDataURL(dataURL: string, filename: string): void;
|
|
303
286
|
/** Breaks on all asserts/errors, hides the canvas, and shows message in plain text
|
|
304
287
|
* This is a good function to call at the start of your game to catch all errors
|
|
305
288
|
* In release builds this function has no effect
|
|
306
289
|
* @memberof Debug */
|
|
307
290
|
export function debugShowErrors(): void;
|
|
308
|
-
/** Check if video capture is active
|
|
309
|
-
* @memberof Debug */
|
|
310
|
-
export function debugVideoCaptureIsActive(): boolean;
|
|
311
291
|
/** Start capturing video
|
|
312
292
|
* @memberof Debug */
|
|
313
293
|
export function debugVideoCaptureStart(): void;
|
|
314
294
|
/** Stop capturing video and save to disk
|
|
315
295
|
* @memberof Debug */
|
|
316
296
|
export function debugVideoCaptureStop(): void;
|
|
297
|
+
/** Check if video capture is active
|
|
298
|
+
* @memberof Debug */
|
|
299
|
+
export function debugVideoCaptureIsActive(): boolean;
|
|
317
300
|
/**
|
|
318
301
|
* LittleJS Engine Settings
|
|
319
302
|
* - All settings for the engine are here
|
|
@@ -340,7 +323,7 @@ declare module "littlejsengine" {
|
|
|
340
323
|
* @default
|
|
341
324
|
* @memberof Settings */
|
|
342
325
|
export let canvasColorTiles: boolean;
|
|
343
|
-
/** Color to clear the canvas to before render
|
|
326
|
+
/** Color to clear the canvas to before render, does not clear if alpha is 0
|
|
344
327
|
* @type {Color}
|
|
345
328
|
* @memberof Draw */
|
|
346
329
|
export let canvasClearColor: Color;
|
|
@@ -560,7 +543,7 @@ declare module "littlejsengine" {
|
|
|
560
543
|
* @param {boolean} colorTiles
|
|
561
544
|
* @memberof Settings */
|
|
562
545
|
export function setCanvasColorTiles(colorTiles: boolean): void;
|
|
563
|
-
/** Set color to clear the canvas to before render
|
|
546
|
+
/** Set color to clear the canvas to before render, does not clear if alpha is 0
|
|
564
547
|
* @param {Color} color
|
|
565
548
|
* @memberof Settings */
|
|
566
549
|
export function setCanvasClearColor(color: Color): void;
|
|
@@ -744,105 +727,105 @@ declare module "littlejsengine" {
|
|
|
744
727
|
* - Color - holds a rgba color with some math functions
|
|
745
728
|
* - Timer - tracks time automatically
|
|
746
729
|
* - RandomGenerator - seeded random number generator
|
|
747
|
-
* @namespace
|
|
730
|
+
* @namespace Math
|
|
748
731
|
*/
|
|
749
732
|
/** The value of PI
|
|
750
733
|
* @type {number}
|
|
751
734
|
* @default Math.PI
|
|
752
|
-
* @memberof
|
|
735
|
+
* @memberof Math */
|
|
753
736
|
export const PI: number;
|
|
754
737
|
/** Returns absolute value of value passed in
|
|
755
738
|
* @param {number} value
|
|
756
739
|
* @return {number}
|
|
757
|
-
* @memberof
|
|
740
|
+
* @memberof Math */
|
|
758
741
|
export const abs: (x: number) => number;
|
|
759
742
|
/** Returns floored value of value passed in
|
|
760
743
|
* @param {number} value
|
|
761
744
|
* @return {number}
|
|
762
|
-
* @memberof
|
|
745
|
+
* @memberof Math */
|
|
763
746
|
export const floor: (x: number) => number;
|
|
764
747
|
/** Returns ceiled value of value passed in
|
|
765
748
|
* @param {number} value
|
|
766
749
|
* @return {number}
|
|
767
|
-
* @memberof
|
|
750
|
+
* @memberof Math */
|
|
768
751
|
export const ceil: (x: number) => number;
|
|
769
752
|
/** Returns rounded value passed in
|
|
770
753
|
* @param {number} value
|
|
771
754
|
* @return {number}
|
|
772
|
-
* @memberof
|
|
755
|
+
* @memberof Math */
|
|
773
756
|
export const round: (x: number) => number;
|
|
774
757
|
/** Returns lowest value passed in
|
|
775
758
|
* @param {...number} values
|
|
776
759
|
* @return {number}
|
|
777
|
-
* @memberof
|
|
760
|
+
* @memberof Math */
|
|
778
761
|
export const min: (...values: number[]) => number;
|
|
779
762
|
/** Returns highest value passed in
|
|
780
763
|
* @param {...number} values
|
|
781
764
|
* @return {number}
|
|
782
|
-
* @memberof
|
|
765
|
+
* @memberof Math */
|
|
783
766
|
export const max: (...values: number[]) => number;
|
|
784
767
|
/** Returns the sign of value passed in
|
|
785
768
|
* @param {number} value
|
|
786
769
|
* @return {number}
|
|
787
|
-
* @memberof
|
|
770
|
+
* @memberof Math */
|
|
788
771
|
export const sign: (x: number) => number;
|
|
789
772
|
/** Returns hypotenuse of values passed in
|
|
790
773
|
* @param {...number} values
|
|
791
774
|
* @return {number}
|
|
792
|
-
* @memberof
|
|
775
|
+
* @memberof Math */
|
|
793
776
|
export const hypot: (...values: number[]) => number;
|
|
794
777
|
/** Returns log2 of value passed in
|
|
795
778
|
* @param {number} value
|
|
796
779
|
* @return {number}
|
|
797
|
-
* @memberof
|
|
780
|
+
* @memberof Math */
|
|
798
781
|
export const log2: (x: number) => number;
|
|
799
782
|
/** Returns sin of value passed in
|
|
800
783
|
* @param {number} value
|
|
801
784
|
* @return {number}
|
|
802
|
-
* @memberof
|
|
785
|
+
* @memberof Math */
|
|
803
786
|
export const sin: (x: number) => number;
|
|
804
787
|
/** Returns cos of value passed in
|
|
805
788
|
* @param {number} value
|
|
806
789
|
* @return {number}
|
|
807
|
-
* @memberof
|
|
790
|
+
* @memberof Math */
|
|
808
791
|
export const cos: (x: number) => number;
|
|
809
792
|
/** Returns tan of value passed in
|
|
810
793
|
* @param {number} value
|
|
811
794
|
* @return {number}
|
|
812
|
-
* @memberof
|
|
795
|
+
* @memberof Math */
|
|
813
796
|
export const tan: (x: number) => number;
|
|
814
797
|
/** Returns atan2 of values passed in
|
|
815
798
|
* @param {number} y
|
|
816
799
|
* @param {number} x
|
|
817
800
|
* @return {number}
|
|
818
|
-
* @memberof
|
|
801
|
+
* @memberof Math */
|
|
819
802
|
export const atan2: (y: number, x: number) => number;
|
|
820
803
|
/** Returns first parm modulo the second param, but adjusted so negative numbers work as expected
|
|
821
804
|
* @param {number} dividend
|
|
822
805
|
* @param {number} [divisor]
|
|
823
806
|
* @return {number}
|
|
824
|
-
* @memberof
|
|
807
|
+
* @memberof Math */
|
|
825
808
|
export function mod(dividend: number, divisor?: number): number;
|
|
826
809
|
/** Clamps the value between max and min
|
|
827
810
|
* @param {number} value
|
|
828
811
|
* @param {number} [min]
|
|
829
812
|
* @param {number} [max]
|
|
830
813
|
* @return {number}
|
|
831
|
-
* @memberof
|
|
814
|
+
* @memberof Math */
|
|
832
815
|
export function clamp(value: number, min?: number, max?: number): number;
|
|
833
816
|
/** Returns what percentage the value is between valueA and valueB
|
|
834
817
|
* @param {number} value
|
|
835
818
|
* @param {number} valueA
|
|
836
819
|
* @param {number} valueB
|
|
837
820
|
* @return {number}
|
|
838
|
-
* @memberof
|
|
821
|
+
* @memberof Math */
|
|
839
822
|
export function percent(value: number, valueA: number, valueB: number): number;
|
|
840
823
|
/** Returns signed wrapped distance between the two values passed in
|
|
841
824
|
* @param {number} valueA
|
|
842
825
|
* @param {number} valueB
|
|
843
826
|
* @param {number} [wrapSize]
|
|
844
827
|
* @return {number}
|
|
845
|
-
* @memberof
|
|
828
|
+
* @memberof Math */
|
|
846
829
|
export function distanceWrap(valueA: number, valueB: number, wrapSize?: number): number;
|
|
847
830
|
/** Linearly interpolates between values passed in with wrapping
|
|
848
831
|
* @param {number} valueA
|
|
@@ -850,37 +833,37 @@ declare module "littlejsengine" {
|
|
|
850
833
|
* @param {number} percent
|
|
851
834
|
* @param {number} [wrapSize]
|
|
852
835
|
* @return {number}
|
|
853
|
-
* @memberof
|
|
836
|
+
* @memberof Math */
|
|
854
837
|
export function lerpWrap(valueA: number, valueB: number, percent: number, wrapSize?: number): number;
|
|
855
838
|
/** Returns signed wrapped distance between the two angles passed in
|
|
856
839
|
* @param {number} angleA
|
|
857
840
|
* @param {number} angleB
|
|
858
841
|
* @return {number}
|
|
859
|
-
* @memberof
|
|
842
|
+
* @memberof Math */
|
|
860
843
|
export function distanceAngle(angleA: number, angleB: number): number;
|
|
861
844
|
/** Linearly interpolates between the angles passed in with wrapping
|
|
862
845
|
* @param {number} angleA
|
|
863
846
|
* @param {number} angleB
|
|
864
847
|
* @param {number} percent
|
|
865
848
|
* @return {number}
|
|
866
|
-
* @memberof
|
|
849
|
+
* @memberof Math */
|
|
867
850
|
export function lerpAngle(angleA: number, angleB: number, percent: number): number;
|
|
868
851
|
/** Linearly interpolates between values passed in using percent
|
|
869
852
|
* @param {number} valueA
|
|
870
853
|
* @param {number} valueB
|
|
871
854
|
* @param {number} percent
|
|
872
855
|
* @return {number}
|
|
873
|
-
* @memberof
|
|
856
|
+
* @memberof Math */
|
|
874
857
|
export function lerp(valueA: number, valueB: number, percent: number): number;
|
|
875
858
|
/** Applies smoothstep function to the percentage value
|
|
876
859
|
* @param {number} percent
|
|
877
860
|
* @return {number}
|
|
878
|
-
* @memberof
|
|
861
|
+
* @memberof Math */
|
|
879
862
|
export function smoothStep(percent: number): number;
|
|
880
863
|
/** Returns the nearest power of two not less than the value
|
|
881
864
|
* @param {number} value
|
|
882
865
|
* @return {number}
|
|
883
|
-
* @memberof
|
|
866
|
+
* @memberof Math */
|
|
884
867
|
export function nearestPowerOfTwo(value: number): number;
|
|
885
868
|
/** Returns true if two axis aligned bounding boxes are overlapping
|
|
886
869
|
* this can be used for simple collision detection between objects
|
|
@@ -889,7 +872,7 @@ declare module "littlejsengine" {
|
|
|
889
872
|
* @param {Vector2} posB - Center of box B
|
|
890
873
|
* @param {Vector2} [sizeB=(0,0)] - Size of box B, uses a point if undefined
|
|
891
874
|
* @return {boolean} - True if overlapping
|
|
892
|
-
* @memberof
|
|
875
|
+
* @memberof Math */
|
|
893
876
|
export function isOverlapping(posA: Vector2, sizeA: Vector2, posB: Vector2, sizeB?: Vector2): boolean;
|
|
894
877
|
/** Returns true if a line segment is intersecting an axis aligned box
|
|
895
878
|
* @param {Vector2} start - Start of raycast
|
|
@@ -897,7 +880,7 @@ declare module "littlejsengine" {
|
|
|
897
880
|
* @param {Vector2} pos - Center of box
|
|
898
881
|
* @param {Vector2} size - Size of box
|
|
899
882
|
* @return {boolean} - True if intersecting
|
|
900
|
-
* @memberof
|
|
883
|
+
* @memberof Math */
|
|
901
884
|
export function isIntersecting(start: Vector2, end: Vector2, pos: Vector2, size: Vector2): boolean;
|
|
902
885
|
/** Returns an oscillating wave between 0 and amplitude with frequency of 1 Hz by default
|
|
903
886
|
* @param {number} [frequency] - Frequency of the wave in Hz
|
|
@@ -905,8 +888,17 @@ declare module "littlejsengine" {
|
|
|
905
888
|
* @param {number} [t=time] - Value to use for time of the wave
|
|
906
889
|
* @param {number} [offset] - Value to use for time offset of the wave
|
|
907
890
|
* @return {number} - Value waving between 0 and amplitude
|
|
908
|
-
* @memberof
|
|
891
|
+
* @memberof Math */
|
|
909
892
|
export function wave(frequency?: number, amplitude?: number, t?: number, offset?: number): number;
|
|
893
|
+
/**
|
|
894
|
+
* LittleJS Utility Classes and Functions
|
|
895
|
+
* - General purpose math library
|
|
896
|
+
* - Vector2 - fast, simple, easy 2D vector class
|
|
897
|
+
* - Color - holds a rgba color with some math functions
|
|
898
|
+
* - Timer - tracks time automatically
|
|
899
|
+
* - RandomGenerator - seeded random number generator
|
|
900
|
+
* @namespace Utilities
|
|
901
|
+
*/
|
|
910
902
|
/** Formats seconds to mm:ss style for display purposes
|
|
911
903
|
* @param {number} t - time in seconds
|
|
912
904
|
* @return {string}
|
|
@@ -917,6 +909,24 @@ declare module "littlejsengine" {
|
|
|
917
909
|
* @return {Promise<object>}
|
|
918
910
|
* @memberof Utilities */
|
|
919
911
|
export function fetchJSON(url: string): Promise<object>;
|
|
912
|
+
/** Save a text file to disk
|
|
913
|
+
* @param {string} text
|
|
914
|
+
* @param {string} [filename]
|
|
915
|
+
* @param {string} [type]
|
|
916
|
+
* @memberof Utilities */
|
|
917
|
+
export function saveText(text: string, filename?: string, type?: string): void;
|
|
918
|
+
/** Save a canvas to disk
|
|
919
|
+
* @param {HTMLCanvasElement|OffscreenCanvas} canvas
|
|
920
|
+
* @param {string} [filename]
|
|
921
|
+
* @param {string} [type]
|
|
922
|
+
* @memberof Utilities */
|
|
923
|
+
export function saveCanvas(canvas: HTMLCanvasElement | OffscreenCanvas, filename?: string, type?: string): void;
|
|
924
|
+
/** Save a data url to disk
|
|
925
|
+
* @param {string} url
|
|
926
|
+
* @param {string} [filename]
|
|
927
|
+
* @param {number} [revokeTime] - how long before revoking the url
|
|
928
|
+
* @memberof Utilities */
|
|
929
|
+
export function saveDataURL(url: string, filename?: string, revokeTime?: number): void;
|
|
920
930
|
/** Random global functions
|
|
921
931
|
* @namespace Random */
|
|
922
932
|
/** Returns a random value between the two values passed in
|
|
@@ -1319,7 +1329,7 @@ declare module "littlejsengine" {
|
|
|
1319
1329
|
* let a = vec2(0, 1); // vector with coordinates (0, 1)
|
|
1320
1330
|
* a = vec2(5); // set a to (5, 5)
|
|
1321
1331
|
* b = vec2(); // set b to (0, 0)
|
|
1322
|
-
* @memberof
|
|
1332
|
+
* @memberof Math */
|
|
1323
1333
|
export function vec2(x?: number, y?: number): Vector2;
|
|
1324
1334
|
/**
|
|
1325
1335
|
* Create a color object with RGBA values, white by default
|
|
@@ -1328,7 +1338,7 @@ declare module "littlejsengine" {
|
|
|
1328
1338
|
* @param {number} [b=1] - blue
|
|
1329
1339
|
* @param {number} [a=1] - alpha
|
|
1330
1340
|
* @return {Color}
|
|
1331
|
-
* @memberof
|
|
1341
|
+
* @memberof Math
|
|
1332
1342
|
*/
|
|
1333
1343
|
export function rgb(r?: number, g?: number, b?: number, a?: number): Color;
|
|
1334
1344
|
/**
|
|
@@ -1338,89 +1348,89 @@ declare module "littlejsengine" {
|
|
|
1338
1348
|
* @param {number} [l=1] - lightness
|
|
1339
1349
|
* @param {number} [a=1] - alpha
|
|
1340
1350
|
* @return {Color}
|
|
1341
|
-
* @memberof
|
|
1351
|
+
* @memberof Math */
|
|
1342
1352
|
export function hsl(h?: number, s?: number, l?: number, a?: number): Color;
|
|
1343
1353
|
/**
|
|
1344
1354
|
* Check if object is a valid Color
|
|
1345
1355
|
* @param {any} c
|
|
1346
1356
|
* @return {boolean}
|
|
1347
|
-
* @memberof
|
|
1357
|
+
* @memberof Math */
|
|
1348
1358
|
export function isColor(c: any): boolean;
|
|
1349
1359
|
/**
|
|
1350
1360
|
* Check if object is a valid Vector2
|
|
1351
1361
|
* @param {any} v
|
|
1352
1362
|
* @return {boolean}
|
|
1353
|
-
* @memberof
|
|
1363
|
+
* @memberof Math */
|
|
1354
1364
|
export function isVector2(v: any): boolean;
|
|
1355
1365
|
/**
|
|
1356
1366
|
* Check if object is a valid number, not NaN or undefined, but it may be infinite
|
|
1357
1367
|
* @param {any} n
|
|
1358
1368
|
* @return {boolean}
|
|
1359
|
-
* @memberof
|
|
1369
|
+
* @memberof Math */
|
|
1360
1370
|
export function isNumber(n: any): boolean;
|
|
1361
1371
|
/**
|
|
1362
1372
|
* Check if object is a valid string or can be converted to one
|
|
1363
1373
|
* @param {any} s
|
|
1364
1374
|
* @return {boolean}
|
|
1365
|
-
* @memberof
|
|
1375
|
+
* @memberof Math */
|
|
1366
1376
|
export function isString(s: any): boolean;
|
|
1367
1377
|
/**
|
|
1368
1378
|
* Check if object is an array
|
|
1369
1379
|
* @param {any} a
|
|
1370
1380
|
* @return {boolean}
|
|
1371
|
-
* @memberof
|
|
1381
|
+
* @memberof Math */
|
|
1372
1382
|
export function isArray(a: any): boolean;
|
|
1373
1383
|
/** Color - White #ffffff
|
|
1374
1384
|
* @type {Color}
|
|
1375
|
-
* @memberof
|
|
1385
|
+
* @memberof Math */
|
|
1376
1386
|
export const WHITE: Color;
|
|
1377
1387
|
/** Color - Clear White #757474ff with 0 alpha
|
|
1378
1388
|
* @type {Color}
|
|
1379
|
-
* @memberof
|
|
1389
|
+
* @memberof Math */
|
|
1380
1390
|
export const CLEAR_WHITE: Color;
|
|
1381
1391
|
/** Color - Black #000000
|
|
1382
1392
|
* @type {Color}
|
|
1383
|
-
* @memberof
|
|
1393
|
+
* @memberof Math */
|
|
1384
1394
|
export const BLACK: Color;
|
|
1385
1395
|
/** Color - Clear Black #000000 with 0 alpha
|
|
1386
1396
|
* @type {Color}
|
|
1387
|
-
* @memberof
|
|
1397
|
+
* @memberof Math */
|
|
1388
1398
|
export const CLEAR_BLACK: Color;
|
|
1389
1399
|
/** Color - Gray #808080
|
|
1390
1400
|
* @type {Color}
|
|
1391
|
-
* @memberof
|
|
1401
|
+
* @memberof Math */
|
|
1392
1402
|
export const GRAY: Color;
|
|
1393
1403
|
/** Color - Red #ff0000
|
|
1394
1404
|
* @type {Color}
|
|
1395
|
-
* @memberof
|
|
1405
|
+
* @memberof Math */
|
|
1396
1406
|
export const RED: Color;
|
|
1397
1407
|
/** Color - Orange #ff8000
|
|
1398
1408
|
* @type {Color}
|
|
1399
|
-
* @memberof
|
|
1409
|
+
* @memberof Math */
|
|
1400
1410
|
export const ORANGE: Color;
|
|
1401
1411
|
/** Color - Yellow #ffff00
|
|
1402
1412
|
* @type {Color}
|
|
1403
|
-
* @memberof
|
|
1413
|
+
* @memberof Math */
|
|
1404
1414
|
export const YELLOW: Color;
|
|
1405
1415
|
/** Color - Green #00ff00
|
|
1406
1416
|
* @type {Color}
|
|
1407
|
-
* @memberof
|
|
1417
|
+
* @memberof Math */
|
|
1408
1418
|
export const GREEN: Color;
|
|
1409
1419
|
/** Color - Cyan #00ffff
|
|
1410
1420
|
* @type {Color}
|
|
1411
|
-
* @memberof
|
|
1421
|
+
* @memberof Math */
|
|
1412
1422
|
export const CYAN: Color;
|
|
1413
1423
|
/** Color - Blue #0000ff
|
|
1414
1424
|
* @type {Color}
|
|
1415
|
-
* @memberof
|
|
1425
|
+
* @memberof Math */
|
|
1416
1426
|
export const BLUE: Color;
|
|
1417
1427
|
/** Color - Purple #8000ff
|
|
1418
1428
|
* @type {Color}
|
|
1419
|
-
* @memberof
|
|
1429
|
+
* @memberof Math */
|
|
1420
1430
|
export const PURPLE: Color;
|
|
1421
1431
|
/** Color - Magenta #ff00ff
|
|
1422
1432
|
* @type {Color}
|
|
1423
|
-
* @memberof
|
|
1433
|
+
* @memberof Math */
|
|
1424
1434
|
export const MAGENTA: Color;
|
|
1425
1435
|
/**
|
|
1426
1436
|
* Create a tile info object using a grid based system
|
|
@@ -1535,10 +1545,6 @@ declare module "littlejsengine" {
|
|
|
1535
1545
|
* @type {CanvasRenderingContext2D}
|
|
1536
1546
|
* @memberof Draw */
|
|
1537
1547
|
export let mainContext: CanvasRenderingContext2D;
|
|
1538
|
-
/** The default canvas to use for drawing, usually mainCanvas
|
|
1539
|
-
* @type {HTMLCanvasElement|OffscreenCanvas}
|
|
1540
|
-
* @memberof Draw */
|
|
1541
|
-
export let drawCanvas: HTMLCanvasElement | OffscreenCanvas;
|
|
1542
1548
|
/** The default 2d context to use for drawing, usually mainContext
|
|
1543
1549
|
* @type {CanvasRenderingContext2D|OffscreenCanvasRenderingContext2D}
|
|
1544
1550
|
* @memberof Draw */
|
|
@@ -1591,6 +1597,13 @@ declare module "littlejsengine" {
|
|
|
1591
1597
|
* @return {Vector2}
|
|
1592
1598
|
* @memberof Draw */
|
|
1593
1599
|
export function worldToScreenDelta(worldDelta: Vector2): Vector2;
|
|
1600
|
+
/** Convert screen space transform to world space
|
|
1601
|
+
* @param {Vector2} screenPos
|
|
1602
|
+
* @param {Vector2} screenSize
|
|
1603
|
+
* @param {number} [screenAngle]
|
|
1604
|
+
* @return {[Vector2, Vector2, number]} - [pos, size, angle]
|
|
1605
|
+
* @memberof Draw */
|
|
1606
|
+
export function screenToWorldTransform(screenPos: Vector2, screenSize: Vector2, screenAngle?: number): [Vector2, Vector2, number];
|
|
1594
1607
|
/** Draw textured tile centered in world space, with color applied if using WebGL
|
|
1595
1608
|
* @param {Vector2} pos - Center of the tile in world space
|
|
1596
1609
|
* @param {Vector2} [size=(1,1)] - Size of the tile in world space
|
|
@@ -1728,7 +1741,7 @@ declare module "littlejsengine" {
|
|
|
1728
1741
|
* @param {string} [fontStyle]
|
|
1729
1742
|
* @param {number} [maxWidth]
|
|
1730
1743
|
* @param {number} [angle]
|
|
1731
|
-
* @param {CanvasRenderingContext2D|OffscreenCanvasRenderingContext2D} [context=
|
|
1744
|
+
* @param {CanvasRenderingContext2D|OffscreenCanvasRenderingContext2D} [context=drawContext]
|
|
1732
1745
|
* @memberof Draw */
|
|
1733
1746
|
export function drawTextScreen(text: string | number, pos: Vector2, size?: number, color?: Color, lineWidth?: number, lineColor?: Color, textAlign?: CanvasTextAlign, font?: string, fontStyle?: string, maxWidth?: number, angle?: number, context?: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D): void;
|
|
1734
1747
|
/** Enable normal or additive blend mode
|
|
@@ -2723,8 +2736,8 @@ declare module "littlejsengine" {
|
|
|
2723
2736
|
* @param {Vector2} layerPos - Local position in array
|
|
2724
2737
|
* @return {TileLayerData} */
|
|
2725
2738
|
getData(layerPos: Vector2): TileLayerData;
|
|
2726
|
-
/** @type {[
|
|
2727
|
-
savedRenderSettings: [
|
|
2739
|
+
/** @type {[CanvasRenderingContext2D|OffscreenCanvasRenderingContext2D, Vector2, Vector2, number, Color]} */
|
|
2740
|
+
savedRenderSettings: [CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, Vector2, Vector2, number, Color];
|
|
2728
2741
|
}
|
|
2729
2742
|
/**
|
|
2730
2743
|
* Tile Collision Layer - a tile layer with collision
|