littlejsengine 1.9.1 → 1.9.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/README.md +11 -9
- package/{build → dist}/littlejs.d.ts +48 -43
- package/{build → dist}/littlejs.esm.js +256 -147
- package/dist/littlejs.esm.min.js +1 -0
- package/{build → dist}/littlejs.js +256 -147
- package/dist/littlejs.min.js +1 -0
- package/{build → dist}/littlejs.release.js +249 -144
- package/examples/breakout/game.js +2 -2
- package/examples/breakout/gameObjects.js +3 -3
- package/examples/breakout/index.html +3 -3
- package/examples/breakoutTutorial/index.html +2 -2
- package/examples/electron/build.js +1 -1
- package/examples/electron/game.js +49 -38
- package/examples/electron/index.html +2 -2
- package/examples/electron/tiles.png +0 -0
- package/examples/empty/index.html +1 -1
- package/examples/js13k/build.js +1 -1
- package/examples/js13k/game.js +10 -9
- package/examples/js13k/index.html +13 -13
- package/examples/js13k/tiles.png +0 -0
- package/examples/logo.png +0 -0
- package/examples/module/game.js +45 -41
- package/examples/module/index.html +1 -1
- package/examples/module/tiles.png +0 -0
- package/examples/particles/index.html +1 -1
- package/examples/platformer/data/gameLevelData.tmx +143 -0
- package/examples/platformer/data/gameLevelData.tsx +4 -0
- package/examples/platformer/game.js +31 -11
- package/examples/platformer/gameCharacter.js +9 -7
- package/examples/platformer/gameEffects.js +105 -164
- package/examples/platformer/gameLevel.js +164 -181
- package/examples/platformer/gameLevelData.js +181 -0
- package/examples/platformer/gameObjects.js +71 -26
- package/examples/platformer/gamePlayer.js +3 -2
- package/examples/platformer/index.html +8 -7
- package/examples/platformer/tiles.png +0 -0
- package/examples/platformer/tilesLevel.png +0 -0
- package/examples/puzzle/game.js +12 -12
- package/examples/puzzle/index.html +2 -2
- package/examples/screenshot.jpg +0 -0
- package/examples/starter/build.js +1 -1
- package/examples/starter/game.js +6 -6
- package/examples/starter/index.html +13 -13
- package/examples/starter/tiles.png +0 -0
- package/examples/stress/index.html +2 -2
- package/examples/typescript/build.bat +4 -1
- package/examples/typescript/game.js +34 -31
- package/examples/typescript/game.ts +40 -36
- package/examples/typescript/index.html +1 -1
- package/examples/typescript/tiles.png +0 -0
- package/package.json +3 -3
- package/reference.md +409 -0
- package/src/engine.js +46 -41
- package/src/engineAudio.js +22 -19
- package/src/engineBuild.js +9 -2
- package/src/engineDebug.js +7 -3
- package/src/engineDraw.js +8 -7
- package/src/engineInput.js +5 -5
- package/src/engineMedals.js +3 -3
- package/src/engineObject.js +2 -2
- package/src/engineParticles.js +16 -15
- package/src/engineSettings.js +3 -3
- package/src/engineTileLayer.js +3 -3
- package/src/engineUtilities.js +139 -38
- package/src/engineWebGL.js +2 -8
- package/build/littlejs.esm.min.js +0 -1
- package/build/littlejs.min.js +0 -1
- package/index.d.ts +0 -2094
package/examples/puzzle/game.js
CHANGED
|
@@ -16,7 +16,7 @@ setCanvasPixelated(false);
|
|
|
16
16
|
|
|
17
17
|
const fallTime = .2;
|
|
18
18
|
const cameraOffset = vec2(0,-.5);
|
|
19
|
-
const backgroundColor =
|
|
19
|
+
const backgroundColor = hsl(0,0,.2);
|
|
20
20
|
const minMatchCount = 3;
|
|
21
21
|
const highScoreKey = 'puzzleBestScore';
|
|
22
22
|
|
|
@@ -31,13 +31,13 @@ let level, levelSize, levelFall, fallTimer, dragStartPos, comboCount, score, bes
|
|
|
31
31
|
// tiles
|
|
32
32
|
const tileColors =
|
|
33
33
|
[
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
34
|
+
rgb(1,0,0),
|
|
35
|
+
rgb(1,1,1),
|
|
36
|
+
rgb(1,1,0),
|
|
37
|
+
rgb(0,1,0),
|
|
38
|
+
rgb(0,.6,1),
|
|
39
|
+
rgb(.6,0,1),
|
|
40
|
+
rgb(.5,.5,.5),
|
|
41
41
|
];
|
|
42
42
|
const tileTypeCount = tileColors.length;
|
|
43
43
|
|
|
@@ -186,7 +186,7 @@ function gameUpdatePost()
|
|
|
186
186
|
function gameRender()
|
|
187
187
|
{
|
|
188
188
|
// draw a black square for the background
|
|
189
|
-
drawRect(cameraPos.subtract(cameraOffset), levelSize,
|
|
189
|
+
drawRect(cameraPos.subtract(cameraOffset), levelSize, hsl(0,0,0));
|
|
190
190
|
|
|
191
191
|
// draw the blocks
|
|
192
192
|
const pos = vec2();
|
|
@@ -223,8 +223,8 @@ function gameRender()
|
|
|
223
223
|
function gameRenderPost()
|
|
224
224
|
{
|
|
225
225
|
// draw text on top of everything
|
|
226
|
-
drawText('Score: ' + score, cameraPos.add(vec2(-3,-3.1)), .9,
|
|
227
|
-
drawText('Best: ' + bestScore, cameraPos.add(vec2( 3,-3.1)), .9,
|
|
226
|
+
drawText('Score: ' + score, cameraPos.add(vec2(-3,-3.1)), .9, hsl(), .1);
|
|
227
|
+
drawText('Best: ' + bestScore, cameraPos.add(vec2( 3,-3.1)), .9, hsl(), .1);
|
|
228
228
|
}
|
|
229
229
|
|
|
230
230
|
///////////////////////////////////////////////////////////////////////////////
|
|
@@ -290,7 +290,7 @@ function clearMatches()
|
|
|
290
290
|
|
|
291
291
|
// spawn particles
|
|
292
292
|
const color1 = tileColors[data];
|
|
293
|
-
const color2 = color1.lerp(
|
|
293
|
+
const color2 = color1.lerp(hsl(), .5);
|
|
294
294
|
new ParticleEmitter(
|
|
295
295
|
pos.add(vec2(.5)), 0, // pos, angle
|
|
296
296
|
.5, .1, 200, PI, // emitSize, emitTime, emitRate, emiteCone
|
package/examples/screenshot.jpg
CHANGED
|
Binary file
|
package/examples/starter/game.js
CHANGED
|
@@ -62,11 +62,11 @@ function gameInit()
|
|
|
62
62
|
|
|
63
63
|
// create particle emitter
|
|
64
64
|
particleEmitter = new ParticleEmitter(
|
|
65
|
-
vec2(16,9), 0,
|
|
66
|
-
1, 0, 500, PI,
|
|
67
|
-
tile(0, 16),
|
|
68
|
-
|
|
69
|
-
|
|
65
|
+
vec2(16,9), 0, // emitPos, emitAngle
|
|
66
|
+
1, 0, 500, PI, // emitSize, emitTime, emitRate, emiteCone
|
|
67
|
+
tile(0, 16), // tileIndex, tileSize
|
|
68
|
+
hsl(1,1,1), hsl(0,0,0), // colorStartA, colorStartB
|
|
69
|
+
hsl(0,0,0,0), hsl(0,0,0,0), // colorEndA, colorEndB
|
|
70
70
|
2, .2, .2, .1, .05, // time, sizeStart, sizeEnd, speed, angleSpeed
|
|
71
71
|
.99, 1, 1, PI, // damping, angleDamping, gravityScale, cone
|
|
72
72
|
.05, .5, 1, 1 // fadeRate, randomness, collide, additive
|
|
@@ -84,7 +84,7 @@ function gameUpdate()
|
|
|
84
84
|
sound_click.play(mousePos);
|
|
85
85
|
|
|
86
86
|
// change particle color and set to fade out
|
|
87
|
-
particleEmitter.colorStartA =
|
|
87
|
+
particleEmitter.colorStartA = hsl();
|
|
88
88
|
particleEmitter.colorStartB = randColor();
|
|
89
89
|
particleEmitter.colorEndA = particleEmitter.colorStartA.scale(1,0);
|
|
90
90
|
particleEmitter.colorEndB = particleEmitter.colorStartB.scale(1,0);
|
|
@@ -6,18 +6,18 @@
|
|
|
6
6
|
</head><body>
|
|
7
7
|
|
|
8
8
|
<!-- LittleJS Engine -->
|
|
9
|
-
<script src=../../src/engineDebug.js?
|
|
10
|
-
<script src=../../src/engineUtilities.js?
|
|
11
|
-
<script src=../../src/engineSettings.js?
|
|
12
|
-
<script src=../../src/engineObject.js?
|
|
13
|
-
<script src=../../src/engineDraw.js?
|
|
14
|
-
<script src=../../src/engineInput.js?
|
|
15
|
-
<script src=../../src/engineAudio.js?
|
|
16
|
-
<script src=../../src/engineTileLayer.js?
|
|
17
|
-
<script src=../../src/engineParticles.js?
|
|
18
|
-
<script src=../../src/engineMedals.js?
|
|
19
|
-
<script src=../../src/engineWebGL.js?
|
|
20
|
-
<script src=../../src/engine.js?
|
|
9
|
+
<script src=../../src/engineDebug.js?192></script>
|
|
10
|
+
<script src=../../src/engineUtilities.js?192></script>
|
|
11
|
+
<script src=../../src/engineSettings.js?192></script>
|
|
12
|
+
<script src=../../src/engineObject.js?192></script>
|
|
13
|
+
<script src=../../src/engineDraw.js?192></script>
|
|
14
|
+
<script src=../../src/engineInput.js?192></script>
|
|
15
|
+
<script src=../../src/engineAudio.js?192></script>
|
|
16
|
+
<script src=../../src/engineTileLayer.js?192></script>
|
|
17
|
+
<script src=../../src/engineParticles.js?192></script>
|
|
18
|
+
<script src=../../src/engineMedals.js?192></script>
|
|
19
|
+
<script src=../../src/engineWebGL.js?192></script>
|
|
20
|
+
<script src=../../src/engine.js?192></script>
|
|
21
21
|
|
|
22
22
|
<!-- Add your game scripts here -->
|
|
23
|
-
<script src=game.js?
|
|
23
|
+
<script src=game.js?192></script>
|
|
Binary file
|
|
@@ -6,12 +6,12 @@
|
|
|
6
6
|
</head><body>
|
|
7
7
|
|
|
8
8
|
<!-- LittleJS Engine -->
|
|
9
|
-
<script src=../../
|
|
9
|
+
<script src=../../dist/littlejs.min.js?192></script>
|
|
10
10
|
<script>
|
|
11
11
|
|
|
12
12
|
/*
|
|
13
13
|
LittleJS Stress Test
|
|
14
|
-
- Render over
|
|
14
|
+
- Render over 100,000 sprites at 60 fps in Chrome
|
|
15
15
|
- Also plays music in the background with zzfxm
|
|
16
16
|
- All code and the image is contained in this html file
|
|
17
17
|
*/
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/*
|
|
2
|
-
Little TypeScript Demo
|
|
2
|
+
Little JS TypeScript Demo
|
|
3
3
|
- A simple starter project
|
|
4
|
-
-
|
|
4
|
+
- Shows how to use LittleJS with TypeScript
|
|
5
5
|
*/
|
|
6
6
|
'use strict';
|
|
7
7
|
// import module
|
|
8
|
-
import * as LittleJS from '../../
|
|
9
|
-
const { Vector2, Color, Timer, vec2,
|
|
8
|
+
import * as LittleJS from '../../dist/littlejs.esm.js';
|
|
9
|
+
const { Vector2, Color, Timer, tile, vec2, hsl, rgb } = LittleJS;
|
|
10
10
|
// show the LittleJS splash screen
|
|
11
11
|
LittleJS.setShowSplashScreen(true);
|
|
12
12
|
// sound effects
|
|
@@ -16,51 +16,52 @@ const medal_example = new LittleJS.Medal(0, 'Example Medal', 'Welcome to LittleJ
|
|
|
16
16
|
LittleJS.medalsInit('Hello World');
|
|
17
17
|
// game variables
|
|
18
18
|
let particleEmitter;
|
|
19
|
-
let gameTimer = new Timer;
|
|
20
19
|
///////////////////////////////////////////////////////////////////////////////
|
|
21
20
|
function gameInit() {
|
|
22
21
|
// create tile collision and visible tile layer
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
const
|
|
22
|
+
const tileCollisionSize = vec2(32, 16);
|
|
23
|
+
LittleJS.initTileCollision(tileCollisionSize);
|
|
24
|
+
const pos = vec2();
|
|
25
|
+
const tileLayer = new LittleJS.TileLayer(pos, tileCollisionSize);
|
|
26
26
|
// get level data from the tiles image
|
|
27
|
-
const imageLevelDataRow = 1;
|
|
28
27
|
const mainContext = LittleJS.mainContext;
|
|
29
28
|
const tileImage = LittleJS.textureInfos[0].image;
|
|
30
29
|
mainContext.drawImage(tileImage, 0, 0);
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
if
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
30
|
+
const imageData = mainContext.getImageData(0, 0, tileImage.width, tileImage.height).data;
|
|
31
|
+
for (pos.x = tileCollisionSize.x; pos.x--;)
|
|
32
|
+
for (pos.y = tileCollisionSize.y; pos.y--;) {
|
|
33
|
+
// check if this pixel is set
|
|
34
|
+
const i = pos.x + tileImage.width * (15 + tileCollisionSize.y - pos.y);
|
|
35
|
+
if (!imageData[4 * i])
|
|
36
|
+
continue;
|
|
37
|
+
// set tile data
|
|
38
|
+
const tileIndex = 1;
|
|
39
|
+
const direction = LittleJS.randInt(4);
|
|
40
|
+
const mirror = !LittleJS.randInt(2);
|
|
41
|
+
const color = LittleJS.randColor();
|
|
42
|
+
const data = new LittleJS.TileLayerData(tileIndex, direction, mirror, color);
|
|
43
|
+
tileLayer.setData(pos, data);
|
|
44
|
+
LittleJS.setTileCollisionData(pos, 1);
|
|
43
45
|
}
|
|
46
|
+
// draw tile layer with new data
|
|
44
47
|
tileLayer.redraw();
|
|
45
48
|
// move camera to center of collision
|
|
46
|
-
LittleJS.setCameraPos(
|
|
49
|
+
LittleJS.setCameraPos(tileCollisionSize.scale(.5));
|
|
50
|
+
LittleJS.setCameraScale(48);
|
|
47
51
|
// enable gravity
|
|
48
52
|
LittleJS.setGravity(-.01);
|
|
49
53
|
// create particle emitter
|
|
50
|
-
|
|
51
|
-
particleEmitter = new LittleJS.ParticleEmitter(center, 0, // emitPos, emitAngle
|
|
54
|
+
particleEmitter = new LittleJS.ParticleEmitter(vec2(16, 9), 0, // emitPos, emitAngle
|
|
52
55
|
1, 0, 500, Math.PI, // emitSize, emitTime, emitRate, emiteCone
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
+
tile(0, 16), // tileIndex, tileSize
|
|
57
|
+
hsl(1, 1, 1), hsl(0, 0, 0), // colorStartA, colorStartB
|
|
58
|
+
hsl(0, 0, 0, 0), hsl(0, 0, 0, 0), // colorEndA, colorEndB
|
|
56
59
|
2, .2, .2, .1, .05, // time, sizeStart, sizeEnd, speed, angleSpeed
|
|
57
60
|
.99, 1, 1, Math.PI, // damping, angleDamping, gravityScale, cone
|
|
58
61
|
.05, .5, true, true // fadeRate, randomness, collide, additive
|
|
59
62
|
);
|
|
60
63
|
particleEmitter.elasticity = .3; // bounce when it collides
|
|
61
64
|
particleEmitter.trailScale = 2; // stretch in direction of motion
|
|
62
|
-
// start the game timer
|
|
63
|
-
gameTimer.set();
|
|
64
65
|
}
|
|
65
66
|
///////////////////////////////////////////////////////////////////////////////
|
|
66
67
|
function gameUpdate() {
|
|
@@ -68,7 +69,7 @@ function gameUpdate() {
|
|
|
68
69
|
// play sound when mouse is pressed
|
|
69
70
|
sound_click.play(LittleJS.mousePos);
|
|
70
71
|
// change particle color and set to fade out
|
|
71
|
-
particleEmitter.colorStartA =
|
|
72
|
+
particleEmitter.colorStartA = hsl();
|
|
72
73
|
particleEmitter.colorStartB = LittleJS.randColor();
|
|
73
74
|
particleEmitter.colorEndA = particleEmitter.colorStartA.scale(1, 0);
|
|
74
75
|
particleEmitter.colorEndB = particleEmitter.colorStartB.scale(1, 0);
|
|
@@ -85,7 +86,9 @@ function gameUpdatePost() {
|
|
|
85
86
|
///////////////////////////////////////////////////////////////////////////////
|
|
86
87
|
function gameRender() {
|
|
87
88
|
// draw a grey square in the background without using webgl
|
|
88
|
-
LittleJS.drawRect(
|
|
89
|
+
LittleJS.drawRect(vec2(16, 8), vec2(20, 14), hsl(0, 0, .6), 0, false);
|
|
90
|
+
// draw the logo as a tile
|
|
91
|
+
LittleJS.drawTile(vec2(21, 5), vec2(4.5), tile(3, 128));
|
|
89
92
|
}
|
|
90
93
|
///////////////////////////////////////////////////////////////////////////////
|
|
91
94
|
function gameRenderPost() {
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/*
|
|
2
|
-
Little TypeScript Demo
|
|
2
|
+
Little JS TypeScript Demo
|
|
3
3
|
- A simple starter project
|
|
4
|
-
-
|
|
4
|
+
- Shows how to use LittleJS with TypeScript
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
'use strict';
|
|
8
8
|
|
|
9
9
|
// import module
|
|
10
|
-
import * as LittleJS from '../../
|
|
11
|
-
const {Vector2, Color, Timer, vec2,
|
|
10
|
+
import * as LittleJS from '../../dist/littlejs.esm.js';
|
|
11
|
+
const {Vector2, Color, Timer, tile, vec2, hsl, rgb} = LittleJS;
|
|
12
12
|
|
|
13
13
|
// show the LittleJS splash screen
|
|
14
14
|
LittleJS.setShowSplashScreen(true);
|
|
@@ -21,62 +21,63 @@ const medal_example = new LittleJS.Medal(0, 'Example Medal', 'Welcome to LittleJ
|
|
|
21
21
|
LittleJS.medalsInit('Hello World');
|
|
22
22
|
|
|
23
23
|
// game variables
|
|
24
|
-
let particleEmitter
|
|
25
|
-
let gameTimer = new Timer;
|
|
24
|
+
let particleEmitter;
|
|
26
25
|
|
|
27
26
|
///////////////////////////////////////////////////////////////////////////////
|
|
28
27
|
function gameInit()
|
|
29
28
|
{
|
|
30
29
|
// create tile collision and visible tile layer
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
const
|
|
30
|
+
const tileCollisionSize = vec2(32, 16);
|
|
31
|
+
LittleJS.initTileCollision(tileCollisionSize);
|
|
32
|
+
const pos = vec2();
|
|
33
|
+
const tileLayer = new LittleJS.TileLayer(pos, tileCollisionSize);
|
|
34
34
|
|
|
35
35
|
// get level data from the tiles image
|
|
36
|
-
const imageLevelDataRow = 1;
|
|
37
36
|
const mainContext = LittleJS.mainContext;
|
|
38
37
|
const tileImage = LittleJS.textureInfos[0].image;
|
|
39
38
|
mainContext.drawImage(tileImage, 0, 0);
|
|
40
|
-
|
|
41
|
-
for (pos.
|
|
39
|
+
const imageData = mainContext.getImageData(0,0,tileImage.width,tileImage.height).data;
|
|
40
|
+
for (pos.x = tileCollisionSize.x; pos.x--;)
|
|
41
|
+
for (pos.y = tileCollisionSize.y; pos.y--;)
|
|
42
42
|
{
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
43
|
+
// check if this pixel is set
|
|
44
|
+
const i = pos.x + tileImage.width*(15 + tileCollisionSize.y - pos.y);
|
|
45
|
+
if (!imageData[4*i])
|
|
46
|
+
continue;
|
|
47
|
+
|
|
48
|
+
// set tile data
|
|
49
|
+
const tileIndex = 1;
|
|
50
|
+
const direction = LittleJS.randInt(4)
|
|
51
|
+
const mirror = !LittleJS.randInt(2);
|
|
52
|
+
const color = LittleJS.randColor();
|
|
53
|
+
const data = new LittleJS.TileLayerData(tileIndex, direction, mirror, color);
|
|
54
|
+
tileLayer.setData(pos, data);
|
|
55
|
+
LittleJS.setTileCollisionData(pos, 1);
|
|
54
56
|
}
|
|
57
|
+
|
|
58
|
+
// draw tile layer with new data
|
|
55
59
|
tileLayer.redraw();
|
|
56
60
|
|
|
57
61
|
// move camera to center of collision
|
|
58
|
-
LittleJS.setCameraPos(
|
|
62
|
+
LittleJS.setCameraPos(tileCollisionSize.scale(.5));
|
|
63
|
+
LittleJS.setCameraScale(48);
|
|
59
64
|
|
|
60
65
|
// enable gravity
|
|
61
66
|
LittleJS.setGravity(-.01);
|
|
62
67
|
|
|
63
68
|
// create particle emitter
|
|
64
|
-
const center = LittleJS.tileCollisionSize.scale(.5).add(vec2(0,9));
|
|
65
69
|
particleEmitter = new LittleJS.ParticleEmitter(
|
|
66
|
-
|
|
67
|
-
1, 0, 500, Math.PI,
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
70
|
+
vec2(16,9), 0, // emitPos, emitAngle
|
|
71
|
+
1, 0, 500, Math.PI, // emitSize, emitTime, emitRate, emiteCone
|
|
72
|
+
tile(0, 16), // tileIndex, tileSize
|
|
73
|
+
hsl(1,1,1), hsl(0,0,0), // colorStartA, colorStartB
|
|
74
|
+
hsl(0,0,0,0), hsl(0,0,0,0), // colorEndA, colorEndB
|
|
71
75
|
2, .2, .2, .1, .05, // time, sizeStart, sizeEnd, speed, angleSpeed
|
|
72
76
|
.99, 1, 1, Math.PI, // damping, angleDamping, gravityScale, cone
|
|
73
|
-
.05, .5, true, true
|
|
77
|
+
.05, .5, true, true // fadeRate, randomness, collide, additive
|
|
74
78
|
);
|
|
75
79
|
particleEmitter.elasticity = .3; // bounce when it collides
|
|
76
80
|
particleEmitter.trailScale = 2; // stretch in direction of motion
|
|
77
|
-
|
|
78
|
-
// start the game timer
|
|
79
|
-
gameTimer.set();
|
|
80
81
|
}
|
|
81
82
|
|
|
82
83
|
///////////////////////////////////////////////////////////////////////////////
|
|
@@ -88,7 +89,7 @@ function gameUpdate()
|
|
|
88
89
|
sound_click.play(LittleJS.mousePos);
|
|
89
90
|
|
|
90
91
|
// change particle color and set to fade out
|
|
91
|
-
particleEmitter.colorStartA =
|
|
92
|
+
particleEmitter.colorStartA = hsl();
|
|
92
93
|
particleEmitter.colorStartB = LittleJS.randColor();
|
|
93
94
|
particleEmitter.colorEndA = particleEmitter.colorStartA.scale(1,0);
|
|
94
95
|
particleEmitter.colorEndB = particleEmitter.colorStartB.scale(1,0);
|
|
@@ -112,7 +113,10 @@ function gameUpdatePost()
|
|
|
112
113
|
function gameRender()
|
|
113
114
|
{
|
|
114
115
|
// draw a grey square in the background without using webgl
|
|
115
|
-
LittleJS.drawRect(
|
|
116
|
+
LittleJS.drawRect(vec2(16,8), vec2(20,14), hsl(0,0,.6), 0, false);
|
|
117
|
+
|
|
118
|
+
// draw the logo as a tile
|
|
119
|
+
LittleJS.drawTile(vec2(21,5), vec2(4.5), tile(3,128));
|
|
116
120
|
}
|
|
117
121
|
|
|
118
122
|
///////////////////////////////////////////////////////////////////////////////
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "littlejsengine",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.3",
|
|
4
4
|
"description": "LittleJS - Tiny and Fast HTML5 Game Engine",
|
|
5
|
-
"main": "
|
|
6
|
-
"types": "
|
|
5
|
+
"main": "dist/littlejs.esm.js",
|
|
6
|
+
"types": "dist/littlejs.d.ts",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
9
9
|
"url": "git+https://github.com/KilledByAPixel/LittleJS.git"
|