littlejsengine 1.2.0 → 1.2.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/engine/index.d.ts CHANGED
@@ -760,6 +760,10 @@ declare let inputWASDEmulateDirection: number;
760
760
  * @default
761
761
  * @memberof Settings */
762
762
  declare let touchGamepadEnable: number;
763
+ /** True if touch gamepad should be analog stick or false to use if 8 way dpad
764
+ * @default
765
+ * @memberof Settings */
766
+ declare let touchGamepadAnalog: number;
763
767
  /** Size of virutal gamepad for touch devices in pixels
764
768
  * @default
765
769
  * @memberof Settings */
@@ -974,6 +978,7 @@ declare function worldToScreen(worldPos: Vector2): Vector2;
974
978
  * // draw text
975
979
  * font.drawTextScreen("LittleJS\nHello World!", vec2(200, 50));
976
980
  */
981
+ declare let engineFontImage: any;
977
982
  declare class FontImage {
978
983
  /** Create an image font
979
984
  * @param {Image} [image] - The image the font is stored in, if undefined the default font is used
@@ -983,7 +988,7 @@ declare class FontImage {
983
988
  * @param {CanvasRenderingContext2D} [context=overlayContext] - context to draw to
984
989
  */
985
990
  constructor(image?: new (width?: number, height?: number) => HTMLImageElement, tileSize?: Vector2, paddingSize?: Vector2, startTileIndex?: number, context?: CanvasRenderingContext2D);
986
- image: new (width?: number, height?: number) => HTMLImageElement;
991
+ image: any;
987
992
  tileSize: Vector2;
988
993
  paddingSize: Vector2;
989
994
  startTileIndex: number;
@@ -1102,7 +1107,6 @@ declare const isTouchDevice: boolean;
1102
1107
  declare let touchGamepadTimer: Timer;
1103
1108
  declare let touchGamepadButtons: any[];
1104
1109
  declare let touchGamepadStick: Vector2;
1105
- declare let touchGamepadAnalog: number;
1106
1110
  /**
1107
1111
  * Sound Object - Stores a zzfx sound for later use and can be played positionally
1108
1112
  * <br>
@@ -1337,9 +1341,9 @@ declare class TileLayer extends EngineObject {
1337
1341
  * let pos = vec2(2,3);
1338
1342
  * let particleEmiter = new ParticleEmitter
1339
1343
  * (
1340
- * pos, 1, 0, 500, PI, // pos, emitSize, emitTime, emitRate, emiteCone
1344
+ * pos, 0, 1, 0, 500, PI, // pos, angle, emitSize, emitTime, emitRate, emiteCone
1341
1345
  * 0, vec2(16), // tileIndex, tileSize
1342
- * new Color, new Color(0,0,0), // colorStartA, colorStartB
1346
+ * new Color(1,1,1), new Color(0,0,0), // colorStartA, colorStartB
1343
1347
  * new Color(1,1,1,0), new Color(0,0,0,0), // colorEndA, colorEndB
1344
1348
  * 2, .2, .2, .1, .05, // particleTime, sizeStart, sizeEnd, particleSpeed, particleAngleSpeed
1345
1349
  * .99, 1, 1, PI, .05, // damping, angleDamping, gravityScale, particleCone, fadeRate,
@@ -1349,6 +1353,7 @@ declare class TileLayer extends EngineObject {
1349
1353
  declare class ParticleEmitter extends EngineObject {
1350
1354
  /** Create a particle system with the given settings
1351
1355
  * @param {Vector2} position - World space position of the emitter
1356
+ * @param {Number} [angle=0] - Angle to rotate the object
1352
1357
  * @param {Number} [emitSize=0] - World space size of the emitter (float for circle diameter, vec2 for rect)
1353
1358
  * @param {Number} [emitTime=0] - How long to stay alive (0 is forever)
1354
1359
  * @param {Number} [emitRate=100] - How many particles per second to spawn, does not emit if 0
@@ -1375,7 +1380,7 @@ declare class ParticleEmitter extends EngineObject {
1375
1380
  * @param {Boolean} [randomColorLinear=1] - Should color be randomized linearly or across each component
1376
1381
  * @param {Number} [renderOrder=0] - Render order for particles (additive is above other stuff by default)
1377
1382
  */
1378
- constructor(pos: any, emitSize?: number, emitTime?: number, emitRate?: number, emitConeAngle?: number, tileIndex?: number, tileSize?: number, colorStartA?: Color, colorStartB?: Color, colorEndA?: Color, colorEndB?: Color, particleTime?: number, sizeStart?: number, sizeEnd?: number, speed?: number, angleSpeed?: number, damping?: number, angleDamping?: number, gravityScale?: number, particleConeAngle?: number, fadeRate?: number, randomness?: number, collideTiles?: boolean, additive?: boolean, randomColorLinear?: boolean, renderOrder?: number);
1383
+ constructor(pos: any, angle?: number, emitSize?: number, emitTime?: number, emitRate?: number, emitConeAngle?: number, tileIndex?: number, tileSize?: number, colorStartA?: Color, colorStartB?: Color, colorEndA?: Color, colorEndB?: Color, particleTime?: number, sizeStart?: number, sizeEnd?: number, speed?: number, angleSpeed?: number, damping?: number, angleDamping?: number, gravityScale?: number, particleConeAngle?: number, fadeRate?: number, randomness?: number, collideTiles?: boolean, additive?: boolean, randomColorLinear?: boolean, renderOrder?: number);
1379
1384
  /** @property {Number} - World space size of the emitter (float for circle diameter, vec2 for rect) */
1380
1385
  emitSize: number;
1381
1386
  /** @property {Number} - How long to stay alive (0 is forever) */
@@ -1514,8 +1519,6 @@ declare class Newgrounds {
1514
1519
  * @param {Number} id - The scoreboard id
1515
1520
  * @param {Number} value - The score value */
1516
1521
  postScore(id: number, value: number): any;
1517
- /** Send message to log a view */
1518
- logView(): any;
1519
1522
  /** Get scores from a scoreboard
1520
1523
  * @param {Number} id - The scoreboard id
1521
1524
  * @param {String} [user=0] - A user's id or name
@@ -1525,6 +1528,8 @@ declare class Newgrounds {
1525
1528
  * @return {Object} - The response JSON object
1526
1529
  */
1527
1530
  getScores(id: number, user?: string, social?: number, skip?: number, limit?: number): any;
1531
+ /** Send message to log a view */
1532
+ logView(): any;
1528
1533
  /** Send a message to call a component of the Newgrounds API
1529
1534
  * @param {String} component - Name of the component
1530
1535
  * @param {Object} [parameters=0] - Parameters to use for call
@@ -1583,7 +1588,7 @@ declare const gl_VERTEX_BYTE_STRIDE: number;
1583
1588
  /** Name of engine */
1584
1589
  declare const engineName: "LittleJS";
1585
1590
  /** Version of engine */
1586
- declare const engineVersion: "1.2.0";
1591
+ declare const engineVersion: "1.2.3";
1587
1592
  /** Frames per second to update objects
1588
1593
  * @default */
1589
1594
  declare const frameRate: 60;
@@ -1609,4 +1614,4 @@ declare let tileImageFixBleed: any;
1609
1614
  declare let averageFPS: any;
1610
1615
  declare let drawCount: any;
1611
1616
  declare const styleBody: string;
1612
- declare const styleCanvas: "position:absolute";
1617
+ declare const styleCanvas: "position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)";
@@ -56,11 +56,11 @@ class Block extends EngineObject
56
56
  const color1 = this.color;
57
57
  const color2 = color1.lerp(new Color, .5);
58
58
  new ParticleEmitter(
59
- this.pos, this.size, .1, 200, PI, // pos, emitSize, emitTime, emitRate, emiteCone
59
+ this.pos, 0, this.size, .1, 200, PI, // pos, angle, emitSize, emitTime, emitRate, emiteCone
60
60
  0, vec2(16), // tileIndex, tileSize
61
61
  color1, color2, // colorStartA, colorStartB
62
62
  color1.scale(1,0), color2.scale(1,0), // colorEndA, colorEndB
63
- .2, 1, 1, .1, .05, // particleTime, sizeStart, sizeEnd, particleSpeed, particleAngleSpeed
63
+ .2, 1, 1, .1, .05, // particleTime, sizeStart, sizeEnd, particleSpeed, particleAngleSpeed
64
64
  .99, .95, .4, PI, .1, // damping, angleDamping, gravityScale, particleCone, fadeRate,
65
65
  1, 0, 1 // randomness, collide, additive, randomColorLinear, renderOrder
66
66
  );
@@ -5,6 +5,6 @@
5
5
  <link rel=icon type=image/png href=../../favicon.png>
6
6
  </head><body>
7
7
 
8
- <script src=../../engine/engine.all.js?97></script>
9
- <script src=game.js?97></script>
10
- <script src=gameObjects.js?97></script>
8
+ <script src=../../engine/engine.all.js?102></script>
9
+ <script src=game.js?102></script>
10
+ <script src=gameObjects.js?102></script>
@@ -73,18 +73,18 @@ function gameRender()
73
73
  function gameRenderPost()
74
74
  {
75
75
  // draw to overlay canvas for hud rendering
76
- const drawText = (text, x, y, size=70) =>
76
+ const drawText = (text, x, y, size=50) =>
77
77
  {
78
78
  overlayContext.textAlign = 'center';
79
79
  overlayContext.textBaseline = 'top';
80
80
  overlayContext.font = size + 'px arial';
81
81
  overlayContext.fillStyle = '#fff';
82
- overlayContext.lineWidth = 3;
82
+ overlayContext.lineWidth = 2;
83
83
  overlayContext.strokeText(text, x, y);
84
84
  overlayContext.fillText(text, x, y);
85
85
  }
86
- drawText('Score: ' + score, overlayCanvas.width*1/3, 20);
87
- drawText('Deaths: ' + deaths, overlayCanvas.width*2/3, 20);
86
+ drawText('Score: ' + score, overlayCanvas.width*1/4, 20);
87
+ drawText('Deaths: ' + deaths, overlayCanvas.width*3/4, 20);
88
88
  }
89
89
 
90
90
  ///////////////////////////////////////////////////////////////////////////////
@@ -39,7 +39,7 @@ function makeDebris(pos, color = new Color, amount = 100, size=.2, elasticity =
39
39
  {
40
40
  const color2 = color.lerp(new Color, .5);
41
41
  const emitter = new ParticleEmitter(
42
- pos, 1, .1, 100, PI, // pos, emitSize, emitTime, emitRate, emiteCone
42
+ pos, 0, 1, .1, 100, PI, // pos, angle, emitSize, emitTime, emitRate, emiteCone
43
43
  undefined, undefined, // tileIndex, tileSize
44
44
  color, color2, // colorStartA, colorStartB
45
45
  color, color2, // colorEndA, colorEndB
@@ -100,7 +100,7 @@ function explosion(pos, radius=3)
100
100
 
101
101
  // smoke
102
102
  new ParticleEmitter(
103
- pos, radius/2, .2, 50*radius, PI, // pos, emitSize, emitTime, emitRate, emiteCone
103
+ pos, 0, radius/2, .2, 50*radius, PI, // pos, angle, emitSize, emitTime, emitRate, emiteCone
104
104
  0, undefined, // tileIndex, tileSize
105
105
  new Color(0,0,0), new Color(0,0,0), // colorStartA, colorStartB
106
106
  new Color(0,0,0,0), new Color(0,0,0,0), // colorEndA, colorEndB
@@ -111,7 +111,7 @@ function explosion(pos, radius=3)
111
111
 
112
112
  // fire
113
113
  new ParticleEmitter(
114
- pos, radius/2, .1, 100*radius, PI, // pos, emitSize, emitTime, emitRate, emiteCone
114
+ pos, 0, radius/2, .1, 100*radius, PI, // pos, angle, emitSize, emitTime, emitRate, emiteCone
115
115
  0, undefined, // tileIndex, tileSize
116
116
  new Color(1,.5,.1), new Color(1,.1,.1), // colorStartA, colorStartB
117
117
  new Color(1,.5,.1,0), new Color(1,.1,.1,0), // colorEndA, colorEndB
@@ -210,7 +210,7 @@ class Weapon extends EngineObject
210
210
 
211
211
  // shell effect
212
212
  this.addChild(this.shellEmitter = new ParticleEmitter(
213
- vec2(), 0, 0, 0, .1, // pos, emitSize, emitTime, emitRate, emiteCone
213
+ vec2(), 0, 0, 0, 0, .1, // pos, angle, emitSize, emitTime, emitRate, emiteCone
214
214
  undefined, undefined, // tileIndex, tileSize
215
215
  new Color(1,.8,.5), new Color(.9,.7,.5), // colorStartA, colorStartB
216
216
  new Color(1,.8,.5), new Color(.9,.7,.5), // colorEndA, colorEndB
@@ -321,7 +321,7 @@ class Bullet extends EngineObject
321
321
 
322
322
  // spark effects
323
323
  const emitter = new ParticleEmitter(
324
- this.pos, 0, .1, 100, .5, // pos, emitSize, emitTime, emitRate, emiteCone
324
+ this.pos, 0, 0, .1, 100, .5, // pos, angle, emitSize, emitTime, emitRate, emiteCone
325
325
  undefined, undefined, // tileIndex, tileSize
326
326
  new Color(1,1,0), new Color(1,0,0), // colorStartA, colorStartB
327
327
  new Color(1,1,0), new Color(1,0,0), // colorEndA, colorEndB
@@ -5,9 +5,9 @@
5
5
  <link rel=icon type=image/png href=../../favicon.png>
6
6
  </head><body>
7
7
 
8
- <script src=../../engine/engine.all.js?97></script>
9
- <script src=gameObjects.js?97></script>
10
- <script src=gamePlayer.js?97></script>
11
- <script src=gameEffects.js?97></script>
12
- <script src=gameLevel.js?97></script>
13
- <script src=game.js?97></script>
8
+ <script src=../../engine/engine.all.js?102></script>
9
+ <script src=gameObjects.js?102></script>
10
+ <script src=gamePlayer.js?102></script>
11
+ <script src=gameEffects.js?102></script>
12
+ <script src=gameLevel.js?102></script>
13
+ <script src=game.js?102></script>
@@ -284,7 +284,7 @@ function clearMatches()
284
284
  const color1 = tileColors[data];
285
285
  const color2 = color1.lerp(new Color, .5);
286
286
  new ParticleEmitter(
287
- pos.add(vec2(.5)), 1, .1, 100, PI, // pos, emitSize, emitTime, emitRate, emiteCone
287
+ pos.add(vec2(.5)), 0, 1, .1, 100, PI,// pos, angle, emitSize, emitTime, emitRate, emiteCone
288
288
  undefined, undefined, // tileIndex, tileSize
289
289
  color1, color2, // colorStartA, colorStartB
290
290
  color1.scale(1,0), color2.scale(1,0),// colorEndA, colorEndB
@@ -5,5 +5,5 @@
5
5
  <link rel=icon type=image/png href=../../favicon.png>
6
6
  </head><body>
7
7
 
8
- <script src=../../engine/engine.all.js?97></script>
9
- <script src=game.js?97></script>
8
+ <script src=../../engine/engine.all.js?102></script>
9
+ <script src=game.js?102></script>
Binary file
@@ -5,7 +5,7 @@
5
5
  <link rel=icon type=image/png href=../../favicon.png>
6
6
  </head><body>
7
7
 
8
- <script src=../../engine/engine.all.min.js?97></script>
8
+ <script src=../../engine/engine.all.min.js?102></script>
9
9
  <script>
10
10
 
11
11
  /*
@@ -54,7 +54,7 @@ function gameInit()
54
54
 
55
55
  // display stats using a div so when using glOverlay it still appears on top
56
56
  document.body.appendChild(statsDisplay = document.createElement('div'));
57
- statsDisplay.style = 'position:absolute;width:100%;top:50%;left:50%;transform:translate(-50%,-50%);font-size:4em;text-align:center;font-family:arial;user-select:none';
57
+ statsDisplay.style = 'position:absolute;width:100%;top:50%;left:50%;transform:translate(-50%,-50%);font-size:6em;text-align:center;font-family:arial;user-select:none';
58
58
  }
59
59
 
60
60
  ///////////////////////////////////////////////////////////////////////////////
package/game.js CHANGED
@@ -57,12 +57,12 @@ function gameInit()
57
57
  // create particle emitter
58
58
  const center = tileCollisionSize.scale(.5).add(vec2(0,9));
59
59
  particleEmiter = new ParticleEmitter(
60
- center, 1, 0, 500, PI, // pos, emitSize, emitTime, emitRate, emiteCone
60
+ center, 0, 1, 0, 500, PI, // pos, angle, emitSize, emitTime, emitRate, emiteCone
61
61
  0, vec2(16), // tileIndex, tileSize
62
- new Color, new Color(0,0,0), // colorStartA, colorStartB
62
+ new Color(1,1,1), new Color(0,0,0), // colorStartA, colorStartB
63
63
  new Color(1,1,1,0), new Color(0,0,0,0), // colorEndA, colorEndB
64
- 2, .2, .2, .1, .05, // particleTime, sizeStart, sizeEnd, particleSpeed, particleAngleSpeed
65
- .99, 1, 1, PI, .05, // damping, angleDamping, gravityScale, particleCone, fadeRate,
64
+ 2, .2, .2, .1, .05, // particleTime, sizeStart, sizeEnd, particleSpeed, particleAngleSpeed
65
+ .99, 1, 1, PI, .05, // damping, angleDamping, gravityScale, particleCone, fadeRate,
66
66
  .5, 1, 1 // randomness, collide, additive, randomColorLinear, renderOrder
67
67
  );
68
68
  particleEmiter.elasticity = .3;
package/index.html CHANGED
@@ -6,21 +6,21 @@
6
6
  </head><body>
7
7
 
8
8
  <!-- LittleJS engine scripts -->
9
- <script src=engine/engineDebug.js?97></script>
10
- <script src=engine/engineUtilities.js?97></script>
11
- <script src=engine/engineSettings.js?97></script>
12
- <script src=engine/engineObject.js?97></script>
13
- <script src=engine/engineDraw.js?97></script>
14
- <script src=engine/engineInput.js?97></script>
15
- <script src=engine/engineAudio.js?97></script>
16
- <script src=engine/engineTileLayer.js?97></script>
17
- <script src=engine/engineParticles.js?97></script>
18
- <script src=engine/engineMedals.js?97></script>
19
- <script src=engine/engineWebGL.js?97></script>
20
- <script src=engine/engine.js?97></script>
9
+ <script src=engine/engineDebug.js?102></script>
10
+ <script src=engine/engineUtilities.js?102></script>
11
+ <script src=engine/engineSettings.js?102></script>
12
+ <script src=engine/engineObject.js?102></script>
13
+ <script src=engine/engineDraw.js?102></script>
14
+ <script src=engine/engineInput.js?102></script>
15
+ <script src=engine/engineAudio.js?102></script>
16
+ <script src=engine/engineTileLayer.js?102></script>
17
+ <script src=engine/engineParticles.js?102></script>
18
+ <script src=engine/engineMedals.js?102></script>
19
+ <script src=engine/engineWebGL.js?102></script>
20
+ <script src=engine/engine.js?102></script>
21
21
 
22
22
  <!-- You can also include all engine scripts like this... -->
23
23
  <!-- <script src=engine/engine.all.js></script> -->
24
24
 
25
25
  <!-- Add your game scripts here -->
26
- <script src=game.js?97></script>
26
+ <script src=game.js?102></script>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "littlejsengine",
3
- "version": "1.2.0",
3
+ "version": "1.2.3",
4
4
  "description": "LittleJS - Tiny and Fast HTML5 Game Engine",
5
5
  "main": "engine/engine.all.js",
6
6
  "repository": {