littlejsengine 1.1.26 → 1.2.0
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 +3 -1
- package/engine/engine.all.js +248 -324
- package/engine/engine.all.min.js +1 -1
- package/engine/engine.all.release.js +223 -105
- package/engine/engine.js +34 -11
- package/engine/engineAudio.js +2 -2
- package/engine/engineBuild.bat +9 -1
- package/engine/engineBuildSetup.bat +2 -1
- package/engine/engineDebug.js +26 -220
- package/engine/engineDraw.js +98 -9
- package/engine/engineInput.js +13 -6
- package/engine/engineObject.js +13 -10
- package/engine/engineTileLayer.js +11 -9
- package/engine/engineUtilities.js +12 -12
- package/engine/engineWebGL.js +40 -46
- package/engine/index.d.ts +1612 -0
- package/examples/breakout/game.js +9 -7
- package/examples/breakout/gameObjects.js +1 -1
- package/examples/breakout/index.html +3 -3
- package/examples/platformer/game.js +1 -1
- package/examples/platformer/gameEffects.js +1 -1
- package/examples/platformer/gameLevel.js +3 -3
- package/examples/platformer/gameObjects.js +1 -1
- package/examples/platformer/gamePlayer.js +11 -6
- package/examples/platformer/index.html +6 -6
- package/examples/platformer/tiles.png +0 -0
- package/examples/puzzle/game.js +1 -1
- package/examples/puzzle/index.html +2 -2
- package/examples/stress/index.html +3 -3
- package/game.js +0 -3
- package/index.html +13 -13
- package/package.json +1 -1
|
@@ -47,21 +47,23 @@ function gameUpdatePost()
|
|
|
47
47
|
///////////////////////////////////////////////////////////////////////////////
|
|
48
48
|
function gameRender()
|
|
49
49
|
{
|
|
50
|
-
// draw a
|
|
51
|
-
drawRect(cameraPos, levelSize, new Color(.
|
|
50
|
+
// draw a the background
|
|
51
|
+
drawRect(cameraPos, levelSize.scale(2), new Color(.4,.4,.4));
|
|
52
|
+
drawRect(cameraPos, levelSize, new Color(.1,.1,.1));
|
|
52
53
|
}
|
|
53
54
|
|
|
54
55
|
///////////////////////////////////////////////////////////////////////////////
|
|
55
56
|
function gameRenderPost()
|
|
56
57
|
{
|
|
57
|
-
//
|
|
58
|
-
|
|
58
|
+
// use built in image font for text
|
|
59
|
+
const font = new FontImage;
|
|
60
|
+
font.drawText('Score: ' + score, cameraPos.add(vec2(0,22)), .2, 1);
|
|
59
61
|
if (!blockCount)
|
|
60
|
-
drawText('You Win!', cameraPos.add(vec2(0,-5)),
|
|
62
|
+
font.drawText('You Win!', cameraPos.add(vec2(0,-5)), .25, 1);
|
|
61
63
|
else if (!ball)
|
|
62
|
-
drawText('Click to Play', cameraPos.add(vec2(0,-5)),
|
|
64
|
+
font.drawText('Click to Play', cameraPos.add(vec2(0,-5)), .25, 1);
|
|
63
65
|
}
|
|
64
66
|
|
|
65
67
|
///////////////////////////////////////////////////////////////////////////////
|
|
66
68
|
// Startup LittleJS Engine
|
|
67
|
-
engineInit(gameInit, gameUpdate, gameUpdatePost, gameRender, gameRenderPost, 'tiles.png');
|
|
69
|
+
engineInit(gameInit, gameUpdate, gameUpdatePost, gameRender, gameRenderPost, 'tiles.png?1');
|
|
@@ -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?
|
|
9
|
-
<script src=game.js?
|
|
10
|
-
<script src=gameObjects.js?
|
|
8
|
+
<script src=../../engine/engine.all.js?97></script>
|
|
9
|
+
<script src=game.js?97></script>
|
|
10
|
+
<script src=gameObjects.js?97></script>
|
|
@@ -46,7 +46,7 @@ function buildTerrain(size)
|
|
|
46
46
|
{
|
|
47
47
|
// big jump
|
|
48
48
|
const jumpDelta = rand(19,-19);
|
|
49
|
-
startGroundLevel = clamp(startGroundLevel + jumpDelta,
|
|
49
|
+
startGroundLevel = clamp(startGroundLevel + jumpDelta, 20, 80);
|
|
50
50
|
groundLevel += jumpDelta;
|
|
51
51
|
groundSlope = rand(-1,1);
|
|
52
52
|
}
|
|
@@ -58,9 +58,9 @@ function buildTerrain(size)
|
|
|
58
58
|
backgroundDelta = 0;
|
|
59
59
|
if (rand() < .1)
|
|
60
60
|
backgroundDeltaSlope = rand(-1,1);
|
|
61
|
-
backgroundDelta = clamp(backgroundDelta,
|
|
61
|
+
backgroundDelta = clamp(backgroundDelta, -1, 3)
|
|
62
62
|
|
|
63
|
-
groundLevel = clamp(groundLevel, levelSize.y-20
|
|
63
|
+
groundLevel = clamp(groundLevel, 20, levelSize.y-20);
|
|
64
64
|
for (let y=0; y < size.y; y++)
|
|
65
65
|
{
|
|
66
66
|
const pos = vec2(x,y);
|
|
@@ -25,7 +25,7 @@ class GameObject extends EngineObject
|
|
|
25
25
|
// flash white when damaged
|
|
26
26
|
if (!this.isDead() && this.damageTimer.isSet())
|
|
27
27
|
{
|
|
28
|
-
const a = .5*percent(this.damageTimer.get(),
|
|
28
|
+
const a = .5*percent(this.damageTimer.get(), .15, 0);
|
|
29
29
|
this.additiveColor = new Color(a,a,a,0);
|
|
30
30
|
}
|
|
31
31
|
else
|
|
@@ -126,7 +126,12 @@ class Character extends GameObject
|
|
|
126
126
|
{
|
|
127
127
|
// update jumping and ground check
|
|
128
128
|
if (this.groundObject || this.climbingWall)
|
|
129
|
+
{
|
|
130
|
+
if (!this.groundTimer.isSet())
|
|
131
|
+
sound_walk.play(this.pos); // land sound
|
|
132
|
+
|
|
129
133
|
this.groundTimer.set(.1);
|
|
134
|
+
}
|
|
130
135
|
|
|
131
136
|
if (this.groundTimer.active() && !this.dodgeTimer.active())
|
|
132
137
|
{
|
|
@@ -169,7 +174,7 @@ class Character extends GameObject
|
|
|
169
174
|
|
|
170
175
|
// apply movement acceleration and clamp
|
|
171
176
|
const maxCharacterSpeed = .2;
|
|
172
|
-
this.velocity.x = clamp(this.velocity.x + moveInput.x * .042, maxCharacterSpeed,
|
|
177
|
+
this.velocity.x = clamp(this.velocity.x + moveInput.x * .042, -maxCharacterSpeed, maxCharacterSpeed);
|
|
173
178
|
|
|
174
179
|
// track last pos for ladder collision code
|
|
175
180
|
this.lastPos = this.pos.copy();
|
|
@@ -189,16 +194,16 @@ class Character extends GameObject
|
|
|
189
194
|
|
|
190
195
|
// update walk sound
|
|
191
196
|
this.walkSoundTime += speed;
|
|
192
|
-
if (speed > .
|
|
197
|
+
if (speed > .001 && ((this.climbingLadder || this.groundTimer.active()) && !this.dodgeTimer.active()))
|
|
193
198
|
{
|
|
194
199
|
if (this.walkSoundTime > 1)
|
|
195
200
|
{
|
|
196
|
-
this.walkSoundTime =
|
|
201
|
+
this.walkSoundTime = this.walkSoundTime%1;
|
|
197
202
|
sound_walk.play(this.pos);
|
|
198
203
|
}
|
|
199
204
|
}
|
|
200
205
|
else
|
|
201
|
-
this.walkSoundTime =
|
|
206
|
+
this.walkSoundTime = 0;
|
|
202
207
|
|
|
203
208
|
// update mirror
|
|
204
209
|
if (moveInput.x && !this.dodgeTimer.active())
|
|
@@ -292,8 +297,8 @@ class Player extends Character
|
|
|
292
297
|
// player controls
|
|
293
298
|
this.holdingJump = keyIsDown(38) || gamepadIsDown(0);
|
|
294
299
|
this.holdingShoot = mouseIsDown(0) || keyIsDown(90) || gamepadIsDown(2);
|
|
295
|
-
this.
|
|
296
|
-
this.
|
|
300
|
+
this.pressingThrow = mouseIsDown(1) || keyIsDown(67) || gamepadIsDown(1);
|
|
301
|
+
this.pressedDodge = mouseIsDown(2) || keyIsDown(88) || gamepadIsDown(3);
|
|
297
302
|
|
|
298
303
|
// movement control
|
|
299
304
|
this.moveInput = isUsingGamepad ? gamepadStick(0) :
|
|
@@ -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?
|
|
9
|
-
<script src=gameObjects.js?
|
|
10
|
-
<script src=gamePlayer.js?
|
|
11
|
-
<script src=gameEffects.js?
|
|
12
|
-
<script src=gameLevel.js?
|
|
13
|
-
<script src=game.js?
|
|
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>
|
|
Binary file
|
package/examples/puzzle/game.js
CHANGED
|
@@ -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?
|
|
8
|
+
<script src=../../engine/engine.all.min.js?97></script>
|
|
9
9
|
<script>
|
|
10
10
|
|
|
11
11
|
/*
|
|
@@ -83,7 +83,7 @@ function gameUpdate()
|
|
|
83
83
|
});
|
|
84
84
|
|
|
85
85
|
// mouse wheel = zoom
|
|
86
|
-
cameraScale = clamp(cameraScale*(1-mouseWheel/10),
|
|
86
|
+
cameraScale = clamp(cameraScale*(1-mouseWheel/10), 1, 1e3);
|
|
87
87
|
}
|
|
88
88
|
|
|
89
89
|
///////////////////////////////////////////////////////////////////////////////
|
|
@@ -96,7 +96,7 @@ function gameRender()
|
|
|
96
96
|
{
|
|
97
97
|
// track fps and update stats
|
|
98
98
|
const frameTimeMS = Date.now();
|
|
99
|
-
showFPS = lerp(.05, 1e3/(frameTimeMS - timeMS||1)
|
|
99
|
+
showFPS = lerp(.05, showFPS, 1e3/(frameTimeMS - timeMS||1));
|
|
100
100
|
timeMS = frameTimeMS;
|
|
101
101
|
|
|
102
102
|
const spriteCount = sprites.length
|
package/game.js
CHANGED
|
@@ -16,7 +16,6 @@ const sound_click = new Sound([.5,.5]);
|
|
|
16
16
|
|
|
17
17
|
// medals
|
|
18
18
|
const medal_example = new Medal(0, 'Example Medal', 'Medal description goes here.');
|
|
19
|
-
const medal_tenClicks = new Medal(1, 'Ten Clicks!', 'You have clicked 10 times.', '🖱️');
|
|
20
19
|
medalsInit('Hello World');
|
|
21
20
|
|
|
22
21
|
///////////////////////////////////////////////////////////////////////////////
|
|
@@ -86,8 +85,6 @@ function gameUpdate()
|
|
|
86
85
|
|
|
87
86
|
// unlock medals
|
|
88
87
|
medal_example.unlock();
|
|
89
|
-
if (++clickCount == 10)
|
|
90
|
-
medal_tenClicks.unlock();
|
|
91
88
|
}
|
|
92
89
|
|
|
93
90
|
// move particles to mouse location if on screen
|
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?
|
|
10
|
-
<script src=engine/engineUtilities.js?
|
|
11
|
-
<script src=engine/engineSettings.js?
|
|
12
|
-
<script src=engine/engineObject.js?
|
|
13
|
-
<script src=engine/engineDraw.js?
|
|
14
|
-
<script src=engine/engineInput.js?
|
|
15
|
-
<script src=engine/engineAudio.js?
|
|
16
|
-
<script src=engine/engineTileLayer.js?
|
|
17
|
-
<script src=engine/engineParticles.js?
|
|
18
|
-
<script src=engine/engineMedals.js?
|
|
19
|
-
<script src=engine/engineWebGL.js?
|
|
20
|
-
<script src=engine/engine.js?
|
|
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>
|
|
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?
|
|
26
|
+
<script src=game.js?97></script>
|