littlejsengine 1.11.8 → 1.11.10

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.
Files changed (39) hide show
  1. package/README.md +3 -3
  2. package/dist/littlejs.d.ts +496 -493
  3. package/dist/littlejs.esm.js +533 -522
  4. package/dist/littlejs.esm.min.js +1 -1
  5. package/dist/littlejs.js +531 -520
  6. package/dist/littlejs.min.js +1 -1
  7. package/dist/littlejs.release.js +487 -479
  8. package/examples/index.html +8 -2
  9. package/examples/module/game.js +2 -2
  10. package/examples/shorts/base.html +1 -1
  11. package/examples/starter/game.js +8 -1
  12. package/examples/typescript/build/dist/littlejs.esm.js +4834 -0
  13. package/examples/typescript/build/examples/typescript/build.js +24 -0
  14. package/examples/typescript/build/examples/typescript/game.js +102 -0
  15. package/examples/typescript/build.bat +5 -0
  16. package/examples/typescript/build.js +33 -0
  17. package/examples/typescript/game.js +102 -0
  18. package/examples/typescript/game.ts +134 -0
  19. package/examples/typescript/index.html +10 -0
  20. package/examples/typescript/tiles.png +0 -0
  21. package/examples/typescript/tsconfig.json +8 -0
  22. package/package.json +1 -1
  23. package/plugins/newgrounds.js +38 -34
  24. package/plugins/postProcess.js +18 -4
  25. package/plugins/uiSystem.js +196 -30
  26. package/reference.md +3 -3
  27. package/src/engine.js +21 -20
  28. package/src/engineAudio.js +59 -59
  29. package/src/engineDebug.js +44 -41
  30. package/src/engineDraw.js +58 -58
  31. package/src/engineExport.js +2 -2
  32. package/src/engineInput.js +30 -30
  33. package/src/engineMedals.js +1 -1
  34. package/src/engineObject.js +42 -37
  35. package/src/engineParticles.js +10 -10
  36. package/src/engineSettings.js +74 -72
  37. package/src/engineTileLayer.js +21 -21
  38. package/src/engineUtilities.js +168 -168
  39. package/src/engineWebGL.js +3 -3
@@ -164,7 +164,8 @@ for (const example of exampleList)
164
164
  }
165
165
 
166
166
  // select first option
167
- selectExample.selectedIndex = 1;
167
+ selectExample.selectedIndex = location.hash.split`#`[1] | 0
168
+
168
169
  setExample();
169
170
 
170
171
  onresize = () =>
@@ -182,12 +183,17 @@ onresize();
182
183
 
183
184
  function setExample()
184
185
  {
185
- const example = exampleList[selectExample.selectedIndex];
186
+ if (selectExample.selectedIndex < 1 || selectExample.selectedIndex >= exampleList.length)
187
+ selectExample.selectedIndex = 1; // reset to default
188
+ let example = exampleList[selectExample.selectedIndex];
189
+ if (!example.filename)
190
+ example = exampleList[selectExample.selectedIndex = 1]; // reset to default
186
191
  exampleInfo.innerText = example.name + (example.description ? ' - ' + example.description : '');
187
192
  const filename = 'examples/' + example.filename;
188
193
  exampleLink.href = 'https://github.com/KilledByAPixel/LittleJS/tree/main/' + filename;
189
194
  exampleLink.innerText = filename;
190
195
  loadFile(example.filename, example.fullExample);
196
+ location.hash = selectExample.selectedIndex;
191
197
  }
192
198
 
193
199
  function codeInput()
@@ -63,7 +63,7 @@ function gameInit()
63
63
 
64
64
  // move camera to center of collision
65
65
  LittleJS.setCameraPos(tileCollisionSize.scale(.5));
66
- LittleJS.setCameraScale(48);
66
+ LittleJS.setCameraScale(32);
67
67
 
68
68
  // enable gravity
69
69
  LittleJS.setGravity(-.01);
@@ -126,7 +126,7 @@ function gameRender()
126
126
  function gameRenderPost()
127
127
  {
128
128
  // draw to overlay canvas for hud rendering
129
- LittleJS.drawTextOverlay('LittleJS with Modules', vec2(LittleJS.mainCanvasSize.x/2, 80), 80);
129
+ LittleJS.drawTextScreen('LittleJS with Modules', vec2(LittleJS.mainCanvasSize.x/2, 80), 80);
130
130
  }
131
131
 
132
132
  ///////////////////////////////////////////////////////////////////////////////
@@ -10,7 +10,7 @@ canvasFixedSize = vec2(960, 540);
10
10
  // fix bleeding from neighboring pixels
11
11
  tileFixBleedScale = .5;
12
12
 
13
- // allow improved scaling
13
+ // allow improved canvas scaling for smoother graphics
14
14
  canvasPixelated = false;
15
15
 
16
16
  // disable watermark
@@ -58,7 +58,7 @@ function gameInit()
58
58
 
59
59
  // setup camera
60
60
  cameraPos = vec2(16,8);
61
- cameraScale = 48;
61
+ cameraScale = 32;
62
62
 
63
63
  // enable gravity
64
64
  gravity = -.01;
@@ -96,6 +96,13 @@ function gameUpdate()
96
96
  medal_example.unlock();
97
97
  }
98
98
 
99
+ if (mouseWheel)
100
+ {
101
+ // zoom in and out with mouse wheel
102
+ cameraScale -= sign(mouseWheel)*cameraScale/5;
103
+ cameraScale = clamp(cameraScale, 10, 300);
104
+ }
105
+
99
106
  // move particles to mouse location if on screen
100
107
  if (mousePosScreen.x)
101
108
  particleEmitter.pos = mousePos;