littlejsengine 1.1.2 → 1.1.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 +55 -0
- package/build.bat +2 -1
- package/engine/engine.all.js +1320 -930
- package/engine/engine.all.min.js +1 -1
- package/engine/engine.all.release.js +965 -601
- package/engine/engine.js +71 -60
- package/engine/engineAudio.js +80 -22
- package/engine/engineBuild.bat +2 -2
- package/engine/engineDebug.js +65 -36
- package/engine/engineDraw.js +71 -56
- package/engine/engineInput.js +178 -28
- package/engine/engineMedals.js +66 -58
- package/engine/engineObject.js +86 -71
- package/engine/engineParticles.js +101 -63
- package/engine/engineRelease.js +4 -1
- package/engine/engineSettings.js +62 -53
- package/engine/engineTileLayer.js +99 -83
- package/engine/engineUtilities.js +95 -59
- package/engine/engineWebGL.js +53 -48
- package/examples/breakout/game.js +1 -1
- package/examples/breakout/gameObjects.js +2 -2
- package/examples/breakout/index.html +7 -5
- package/examples/platformer/game.js +7 -4
- package/examples/platformer/gameEffects.js +8 -11
- package/examples/platformer/gameLevel.js +15 -8
- package/examples/platformer/gameObjects.js +2 -2
- package/examples/platformer/gamePlayer.js +6 -6
- package/examples/platformer/index.html +10 -8
- package/examples/puzzle/game.js +3 -3
- package/examples/puzzle/index.html +6 -4
- package/examples/stress/index.html +7 -5
- package/game.js +10 -10
- package/index.html +17 -15
- package/package.json +4 -7
- package/tiles.png +0 -0
- package/LittleJS.zip +0 -0
- package/docs/Audio.html +0 -2264
- package/docs/Color.html +0 -2506
- package/docs/Debug.html +0 -2929
- package/docs/Draw.html +0 -3854
- package/docs/EngineObject.html +0 -2506
- package/docs/Input.html +0 -2478
- package/docs/Medal.html +0 -992
- package/docs/Medals.html +0 -624
- package/docs/Music.html +0 -569
- package/docs/Newgrounds.html +0 -1384
- package/docs/Particle.html +0 -567
- package/docs/ParticleEmitter.html +0 -1537
- package/docs/Random.html +0 -1770
- package/docs/Settings.html +0 -2885
- package/docs/Sound.html +0 -998
- package/docs/TileLayer.html +0 -3211
- package/docs/TileLayerData.html +0 -569
- package/docs/Timer.html +0 -1168
- package/docs/Utilities.html +0 -3266
- package/docs/Vector2.html +0 -3956
- package/docs/WebGL.html +0 -1842
- package/docs/engine.js.html +0 -428
- package/docs/engineAudio.js.html +0 -567
- package/docs/engineDebug.js.html +0 -721
- package/docs/engineDraw.js.html +0 -409
- package/docs/engineInput.js.html +0 -397
- package/docs/engineMedals.js.html +0 -445
- package/docs/engineObject.js.html +0 -492
- package/docs/engineParticles.js.html +0 -399
- package/docs/engineSettings.js.html +0 -358
- package/docs/engineTileLayer.js.html +0 -482
- package/docs/engineUtilities.js.html +0 -600
- package/docs/engineWebGL.js.html +0 -507
- package/docs/fonts/MavenPro-Regular.ttf +0 -0
- package/docs/fonts/Montserrat-Regular.ttf +0 -0
- package/docs/fonts/Muli-Black.ttf +0 -0
- package/docs/fonts/OFL-hind.txt +0 -93
- package/docs/fonts/OFL-montserrat.txt +0 -93
- package/docs/global.html +0 -1635
- package/docs/index.html +0 -243
- package/docs/scripts/fix-code-block.js +0 -53
- package/docs/scripts/fix-navbar.js +0 -25
- package/docs/scripts/linenumber.js +0 -25
- package/docs/scripts/misc.js +0 -217
- package/docs/scripts/resize.js +0 -85
- package/docs/scripts/search.js +0 -83
- package/docs/scripts/third-party/Apache-License-2.0.txt +0 -202
- package/docs/scripts/third-party/fuse.js +0 -9
- package/docs/scripts/third-party/lang-css.js +0 -2
- package/docs/scripts/third-party/prettify.js +0 -28
- package/docs/static/favicon.png +0 -0
- package/docs/styles/clean-jsdoc-theme-base.css +0 -393
- package/docs/styles/clean-jsdoc-theme-dark.css +0 -324
- package/docs/styles/clean-jsdoc-theme-light.css +0 -319
- package/docs/styles/reset.css +0 -346
- package/docs/styles/third-party/ionicons.min.css +0 -11
- package/docs/styles/third-party/prettify-jsdoc.css +0 -111
- package/docs/styles/third-party/prettify-tomorrow.css +0 -5
package/docs/engine.js.html
DELETED
|
@@ -1,428 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
|
|
4
|
-
<head>
|
|
5
|
-
<meta charset="utf-8">
|
|
6
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
7
|
-
|
|
8
|
-
<!-- Adding favicon -->
|
|
9
|
-
|
|
10
|
-
<link rel="icon" href="./static/favicon.png" />
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
<!-- Adding meta -->
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
<!-- Adding external script-->
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
<!-- Adding external style-->
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
<!-- Adding scripts-->
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
<!-- Adding style-->
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
<!-- Adding overlay script-->
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
<!-- Adding overlay style-->
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
<title>
|
|
36
|
-
engine.js
|
|
37
|
-
</title>
|
|
38
|
-
|
|
39
|
-
<!--[if lt IE 9]>
|
|
40
|
-
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
|
41
|
-
<![endif]-->
|
|
42
|
-
<link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
|
|
43
|
-
<link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
|
|
44
|
-
<link type="text/css" rel="stylesheet" href="styles/reset.css">
|
|
45
|
-
<link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
|
|
46
|
-
<link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-dark.css">
|
|
47
|
-
|
|
48
|
-
<svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
49
|
-
style="display:none">
|
|
50
|
-
<defs>
|
|
51
|
-
<symbol id="copy-icon" viewbox="0 0 488.3 488.3">
|
|
52
|
-
<g>
|
|
53
|
-
<path
|
|
54
|
-
d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
|
|
55
|
-
<path
|
|
56
|
-
d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z" />
|
|
57
|
-
</g>
|
|
58
|
-
</symbol>
|
|
59
|
-
<symbol id='search-icon' viewBox="0 0 512 512">
|
|
60
|
-
<g>
|
|
61
|
-
<g>
|
|
62
|
-
<path
|
|
63
|
-
d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z" />
|
|
64
|
-
</g>
|
|
65
|
-
</g>
|
|
66
|
-
<g>
|
|
67
|
-
<g>
|
|
68
|
-
<path
|
|
69
|
-
d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
|
|
70
|
-
</g>
|
|
71
|
-
</g>
|
|
72
|
-
</symbol>
|
|
73
|
-
<symbol id="down-icon" viewBox="0 0 16 16">
|
|
74
|
-
<path
|
|
75
|
-
fill-rule="evenodd"
|
|
76
|
-
clip-rule="evenodd"
|
|
77
|
-
d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
|
|
78
|
-
>
|
|
79
|
-
</path>
|
|
80
|
-
</symbol>
|
|
81
|
-
</defs>
|
|
82
|
-
</svg>
|
|
83
|
-
</head>
|
|
84
|
-
|
|
85
|
-
<body>
|
|
86
|
-
|
|
87
|
-
<nav class="navbar" id="navbar">
|
|
88
|
-
<div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">LittleJS - The Tiny JavaScript Game Engine That Can!</h2></a></div><div class="search-box" id="search-box"><div class="search-box-input-container"><input class="search-box-input" type="text" placeholder="Search..." id="search-box-input" /><svg class="search-icon" alt="search-icon"><use xlink:href="#search-icon"></use></svg></div><div class="search-item-container" id="search-item-container"><ul class="search-item-ul" id="search-item-ul"></ul></div></div><div class="sidebar-main-content" id="sidebar-main-content"><div class="accordion collapsed" id="540523" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=8248353><div class="accordion-heading child"><a href="Color.html">Color</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Color.html#add">add</a></li><li data-type='method'><a href="Color.html#clamp">clamp</a></li><li data-type='method'><a href="Color.html#copy">copy</a></li><li data-type='method'><a href="Color.html#divide">divide</a></li><li data-type='method'><a href="Color.html#lerp">lerp</a></li><li data-type='method'><a href="Color.html#multiply">multiply</a></li><li data-type='method'><a href="Color.html#mutate">mutate</a></li><li data-type='method'><a href="Color.html#rgba">rgba</a></li><li data-type='method'><a href="Color.html#rgbaInt">rgbaInt</a></li><li data-type='method'><a href="Color.html#scale">scale</a></li><li data-type='method'><a href="Color.html#setHSLA">setHSLA</a></li><li data-type='method'><a href="Color.html#subtract">subtract</a></li></ul></li><li class="accordion collapsed child" id=7012587><div class="accordion-heading child"><a href="EngineObject.html">EngineObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="EngineObject.html#addChild">addChild</a></li><li data-type='method'><a href="EngineObject.html#applyAcceleration">applyAcceleration</a></li><li data-type='method'><a href="EngineObject.html#applyForce">applyForce</a></li><li data-type='method'><a href="EngineObject.html#collideWithObject">collideWithObject</a></li><li data-type='method'><a href="EngineObject.html#collideWithTile">collideWithTile</a></li><li data-type='method'><a href="EngineObject.html#collideWithTileRaycast">collideWithTileRaycast</a></li><li data-type='method'><a href="EngineObject.html#destroy">destroy</a></li><li data-type='method'><a href="EngineObject.html#getAliveTime">getAliveTime</a></li><li data-type='method'><a href="EngineObject.html#getMirrorSign">getMirrorSign</a></li><li data-type='method'><a href="EngineObject.html#removeChild">removeChild</a></li><li data-type='method'><a href="EngineObject.html#render">render</a></li><li data-type='method'><a href="EngineObject.html#setCollision">setCollision</a></li><li data-type='method'><a href="EngineObject.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1700789><div class="accordion-heading child"><a href="Medal.html">Medal</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Medal.html#render">render</a></li><li data-type='method'><a href="Medal.html#renderIcon">renderIcon</a></li><li data-type='method'><a href="Medal.html#unlock">unlock</a></li></ul></li><li class="accordion collapsed child" id=8089268><div class="accordion-heading child"><a href="Music.html">Music</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Music.html#play">play</a></li></ul></li><li class="accordion collapsed child" id=4766582><div class="accordion-heading child"><a href="Newgrounds.html">Newgrounds</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Newgrounds.html#call">call</a></li><li data-type='method'><a href="Newgrounds.html#getScores">getScores</a></li><li data-type='method'><a href="Newgrounds.html#logView">logView</a></li><li data-type='method'><a href="Newgrounds.html#postScore">postScore</a></li><li data-type='method'><a href="Newgrounds.html#unlockMedal">unlockMedal</a></li></ul></li><li class="accordion collapsed child" id=6250424><div class="accordion-heading child"><a href="Particle.html">Particle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Particle.html#render">render</a></li></ul></li><li class="accordion collapsed child" id=7561663><div class="accordion-heading child"><a href="ParticleEmitter.html">ParticleEmitter</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="ParticleEmitter.html#emitParticle">emitParticle</a></li><li data-type='method'><a href="ParticleEmitter.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=6303578><div class="accordion-heading child"><a href="Sound.html">Sound</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Sound.html#play">play</a></li><li data-type='method'><a href="Sound.html#playNote">playNote</a></li></ul></li><li class="accordion collapsed child" id=3741597><div class="accordion-heading child"><a href="TileLayer.html">TileLayer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="TileLayer.html#.getTileCollisionData">getTileCollisionData</a></li><li data-type='method'><a href="TileLayer.html#.initTileCollision">initTileCollision</a></li><li data-type='method'><a href="TileLayer.html#.setTileCollisionData">setTileCollisionData</a></li><li data-type='method'><a href="TileLayer.html#.tileCollisionRaycast">tileCollisionRaycast</a></li><li data-type='method'><a href="TileLayer.html#.tileCollisionTest">tileCollisionTest</a></li><li data-type='method'><a href="TileLayer.html#destroy">destroy</a></li><li data-type='method'><a href="TileLayer.html#drawAllTileData">drawAllTileData</a></li><li data-type='method'><a href="TileLayer.html#drawCanvas2D">drawCanvas2D</a></li><li data-type='method'><a href="TileLayer.html#drawRect">drawRect</a></li><li data-type='method'><a href="TileLayer.html#drawTile">drawTile</a></li><li data-type='method'><a href="TileLayer.html#drawTileData">drawTileData</a></li><li data-type='method'><a href="TileLayer.html#getData">getData</a></li><li data-type='method'><a href="TileLayer.html#redraw">redraw</a></li><li data-type='method'><a href="TileLayer.html#redrawEnd">redrawEnd</a></li><li data-type='method'><a href="TileLayer.html#redrawStart">redrawStart</a></li><li data-type='method'><a href="TileLayer.html#setData">setData</a></li></ul></li><li class="accordion collapsed child" id=3051435><div class="accordion-heading child"><a href="TileLayerData.html">TileLayerData</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="TileLayerData.html#clear">clear</a></li></ul></li><li class="accordion collapsed child" id=2107764><div class="accordion-heading child"><a href="Timer.html">Timer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Timer.html#active">active</a></li><li data-type='method'><a href="Timer.html#elapsed">elapsed</a></li><li data-type='method'><a href="Timer.html#get">get</a></li><li data-type='method'><a href="Timer.html#getPercent">getPercent</a></li><li data-type='method'><a href="Timer.html#isSet">isSet</a></li><li data-type='method'><a href="Timer.html#set">set</a></li><li data-type='method'><a href="Timer.html#unset">unset</a></li></ul></li><li class="accordion collapsed child" id=576602><div class="accordion-heading child"><a href="Vector2.html">Vector2</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Vector2.html#add">add</a></li><li data-type='method'><a href="Vector2.html#angle">angle</a></li><li data-type='method'><a href="Vector2.html#area">area</a></li><li data-type='method'><a href="Vector2.html#arrayCheck">arrayCheck</a></li><li data-type='method'><a href="Vector2.html#clampLength">clampLength</a></li><li data-type='method'><a href="Vector2.html#copy">copy</a></li><li data-type='method'><a href="Vector2.html#cross">cross</a></li><li data-type='method'><a href="Vector2.html#direction">direction</a></li><li data-type='method'><a href="Vector2.html#distance">distance</a></li><li data-type='method'><a href="Vector2.html#distanceSquared">distanceSquared</a></li><li data-type='method'><a href="Vector2.html#divide">divide</a></li><li data-type='method'><a href="Vector2.html#dot">dot</a></li><li data-type='method'><a href="Vector2.html#flip">flip</a></li><li data-type='method'><a href="Vector2.html#floor">floor</a></li><li data-type='method'><a href="Vector2.html#invert">invert</a></li><li data-type='method'><a href="Vector2.html#length">length</a></li><li data-type='method'><a href="Vector2.html#lengthSquared">lengthSquared</a></li><li data-type='method'><a href="Vector2.html#lerp">lerp</a></li><li data-type='method'><a href="Vector2.html#multiply">multiply</a></li><li data-type='method'><a href="Vector2.html#normalize">normalize</a></li><li data-type='method'><a href="Vector2.html#rotate">rotate</a></li><li data-type='method'><a href="Vector2.html#scale">scale</a></li><li data-type='method'><a href="Vector2.html#setAngle">setAngle</a></li><li data-type='method'><a href="Vector2.html#subtract">subtract</a></li></ul></li></ul> </div><div class="accordion collapsed" id="917139" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=8875598><div class="accordion-heading child"><a href="Audio.html">Audio</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Audio.html#.getNoteFrequency">getNoteFrequency</a></li><li data-type='method'><a href="Audio.html#.playAudioFile">playAudioFile</a></li><li data-type='method'><a href="Audio.html#.playSamples">playSamples</a></li><li data-type='method'><a href="Audio.html#.speak">speak</a></li><li data-type='method'><a href="Audio.html#.stopSpeech">stopSpeech</a></li><li data-type='method'><a href="Audio.html#.zzfx">zzfx</a></li><li data-type='method'><a href="Audio.html#.zzfxG">zzfxG</a></li><li data-type='method'><a href="Audio.html#.zzfxM">zzfxM</a></li></ul></li><li class="accordion collapsed child" id=822126><div class="accordion-heading child"><a href="Debug.html">Debug</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Debug.html#.debugAABB">debugAABB</a></li><li data-type='method'><a href="Debug.html#.debugCircle">debugCircle</a></li><li data-type='method'><a href="Debug.html#.debugClear">debugClear</a></li><li data-type='method'><a href="Debug.html#.debugLine">debugLine</a></li><li data-type='method'><a href="Debug.html#.debugPoint">debugPoint</a></li><li data-type='method'><a href="Debug.html#.debugRect">debugRect</a></li><li data-type='method'><a href="Debug.html#.debugSaveCanvas">debugSaveCanvas</a></li><li data-type='method'><a href="Debug.html#.debugText">debugText</a></li></ul></li><li class="accordion collapsed child" id=1368174><div class="accordion-heading child"><a href="Draw.html">Draw</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Draw.html#.drawCanvas2D">drawCanvas2D</a></li><li data-type='method'><a href="Draw.html#.drawLine">drawLine</a></li><li data-type='method'><a href="Draw.html#.drawRect">drawRect</a></li><li data-type='method'><a href="Draw.html#.drawRectScreenSpace">drawRectScreenSpace</a></li><li data-type='method'><a href="Draw.html#.drawText">drawText</a></li><li data-type='method'><a href="Draw.html#.drawTile">drawTile</a></li><li data-type='method'><a href="Draw.html#.drawTileScreenSpace">drawTileScreenSpace</a></li><li data-type='method'><a href="Draw.html#.isFullscreen">isFullscreen</a></li><li data-type='method'><a href="Draw.html#.screenToWorld">screenToWorld</a></li><li data-type='method'><a href="Draw.html#.setBlendMode">setBlendMode</a></li><li data-type='method'><a href="Draw.html#.toggleFullscreen">toggleFullscreen</a></li><li data-type='method'><a href="Draw.html#.worldToScreen">worldToScreen</a></li></ul></li><li class="accordion collapsed child" id=3585023><div class="accordion-heading child"><a href="Input.html">Input</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Input.html#.clearInput">clearInput</a></li><li data-type='method'><a href="Input.html#.gamepadIsDown">gamepadIsDown</a></li><li data-type='method'><a href="Input.html#.gamepadStick">gamepadStick</a></li><li data-type='method'><a href="Input.html#.gamepadWasPressed">gamepadWasPressed</a></li><li data-type='method'><a href="Input.html#.gamepadWasReleased">gamepadWasReleased</a></li><li data-type='method'><a href="Input.html#.keyIsDown">keyIsDown</a></li><li data-type='method'><a href="Input.html#.keyWasPressed">keyWasPressed</a></li><li data-type='method'><a href="Input.html#.keyWasReleased">keyWasReleased</a></li></ul></li><li class="accordion collapsed child" id=4831683><div class="accordion-heading child"><a href="Medals.html">Medals</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Medals.html#.medalsInit">medalsInit</a></li></ul></li><li class="accordion collapsed child" id=7850872><div class="accordion-heading child"><a href="Random.html">Random</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Random.html#.rand">rand</a></li><li data-type='method'><a href="Random.html#.randColor">randColor</a></li><li data-type='method'><a href="Random.html#.randInCircle">randInCircle</a></li><li data-type='method'><a href="Random.html#.randInt">randInt</a></li><li data-type='method'><a href="Random.html#.randSeeded">randSeeded</a></li><li data-type='method'><a href="Random.html#.randSign">randSign</a></li><li data-type='method'><a href="Random.html#.randVector">randVector</a></li></ul></li><li class="accordion-list" id=""><a href="Settings.html">Settings</a></li><li class="accordion collapsed child" id=1173220><div class="accordion-heading child"><a href="Utilities.html">Utilities</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Utilities.html#.abs">abs</a></li><li data-type='method'><a href="Utilities.html#.clamp">clamp</a></li><li data-type='method'><a href="Utilities.html#.formatTime">formatTime</a></li><li data-type='method'><a href="Utilities.html#.isOverlapping">isOverlapping</a></li><li data-type='method'><a href="Utilities.html#.lerp">lerp</a></li><li data-type='method'><a href="Utilities.html#.max">max</a></li><li data-type='method'><a href="Utilities.html#.min">min</a></li><li data-type='method'><a href="Utilities.html#.mod">mod</a></li><li data-type='method'><a href="Utilities.html#.nearestPowerOfTwo">nearestPowerOfTwo</a></li><li data-type='method'><a href="Utilities.html#.percent">percent</a></li><li data-type='method'><a href="Utilities.html#.sign">sign</a></li><li data-type='method'><a href="Utilities.html#.smoothStep">smoothStep</a></li><li data-type='method'><a href="Utilities.html#.vec2">vec2</a></li><li data-type='method'><a href="Utilities.html#.wave">wave</a></li></ul></li><li class="accordion collapsed child" id=6243735><div class="accordion-heading child"><a href="WebGL.html">WebGL</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="WebGL.html#.glCompileShader">glCompileShader</a></li><li data-type='method'><a href="WebGL.html#.glCopyToContext">glCopyToContext</a></li><li data-type='method'><a href="WebGL.html#.glCreateBuffer">glCreateBuffer</a></li><li data-type='method'><a href="WebGL.html#.glCreateProgram">glCreateProgram</a></li><li data-type='method'><a href="WebGL.html#.glCreateTexture">glCreateTexture</a></li><li data-type='method'><a href="WebGL.html#.glFlush">glFlush</a></li><li data-type='method'><a href="WebGL.html#.glSetBlendMode">glSetBlendMode</a></li><li data-type='method'><a href="WebGL.html#.glSetTexture">glSetTexture</a></li></ul></li></ul> </div><div class="accordion collapsed" id="3154152" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#engineCollideObjects">engineCollideObjects</a></li><li class="accordion-list" id=""><a href="global.html#engineInit">engineInit</a></li><li class="accordion-list" id=""><a href="global.html#engineName">engineName</a></li><li class="accordion-list" id=""><a href="global.html#engineObjects">engineObjects</a></li><li class="accordion-list" id=""><a href="global.html#engineObjectsCallback">engineObjectsCallback</a></li><li class="accordion-list" id=""><a href="global.html#engineObjectsDestroy">engineObjectsDestroy</a></li><li class="accordion-list" id=""><a href="global.html#engineObjectsUpdate">engineObjectsUpdate</a></li><li class="accordion-list" id=""><a href="global.html#engineVersion">engineVersion</a></li><li class="accordion-list" id=""><a href="global.html#FPS">FPS</a></li><li class="accordion-list" id=""><a href="global.html#frame">frame</a></li><li class="accordion-list" id=""><a href="global.html#paused">paused</a></li><li class="accordion-list" id=""><a href="global.html#time">time</a></li><li class="accordion-list" id=""><a href="global.html#timeDelta">timeDelta</a></li><li class="accordion-list" id=""><a href="global.html#timeReal">timeReal</a></li></ul> </div></div>
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
</nav>
|
|
92
|
-
<div class="navbar-ham" id="navbar-ham">
|
|
93
|
-
<div>
|
|
94
|
-
<div class="first"></div>
|
|
95
|
-
<div class="second"></div>
|
|
96
|
-
<div class="third"></div>
|
|
97
|
-
</div>
|
|
98
|
-
</div>
|
|
99
|
-
|
|
100
|
-
<div id="main" class="main-content">
|
|
101
|
-
|
|
102
|
-
<h1 id='page-title' class="page-title">
|
|
103
|
-
engine.js
|
|
104
|
-
</h1>
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
<section>
|
|
113
|
-
<article>
|
|
114
|
-
<pre class="prettyprint source linenums"><code>/*
|
|
115
|
-
LittleJS - The Tiny JavaScript Game Engine That Can!
|
|
116
|
-
MIT License - Copyright 2021 Frank Force
|
|
117
|
-
|
|
118
|
-
Engine Features
|
|
119
|
-
- Object oriented system with base class engine object
|
|
120
|
-
- Base class object handles update, physics, collision, rendering, etc
|
|
121
|
-
- Engine helper classes and functions like Vector2, Color, and Timer
|
|
122
|
-
- Super fast rendering system for tile sheets
|
|
123
|
-
- Sound effects audio with zzfx and music with zzfxm
|
|
124
|
-
- Input processing system with gamepad and touchscreen support
|
|
125
|
-
- Tile layer rendering and collision system
|
|
126
|
-
- Particle effect system
|
|
127
|
-
- Medal system tracks and displays achievements
|
|
128
|
-
- Debug tools and debug rendering system
|
|
129
|
-
- Call engineInit() to start it up!
|
|
130
|
-
*/
|
|
131
|
-
|
|
132
|
-
'use strict';
|
|
133
|
-
|
|
134
|
-
/** Name of engine */
|
|
135
|
-
const engineName = 'LittleJS';
|
|
136
|
-
|
|
137
|
-
/** Version of engine */
|
|
138
|
-
const engineVersion = '1.1.2';
|
|
139
|
-
|
|
140
|
-
/** Frames per second to update objects
|
|
141
|
-
* @default */
|
|
142
|
-
const FPS = 60;
|
|
143
|
-
|
|
144
|
-
/** How many seconds each frame lasts, engine uses a fixed time step
|
|
145
|
-
* @default 1/60 */
|
|
146
|
-
const timeDelta = 1/FPS;
|
|
147
|
-
|
|
148
|
-
/** Array containing all engine objects */
|
|
149
|
-
let engineObjects = [];
|
|
150
|
-
|
|
151
|
-
/** Array containing only objects that are set to collide with other objects (for optimization) */
|
|
152
|
-
let engineCollideObjects = [];
|
|
153
|
-
|
|
154
|
-
/** Current update frame, used to calculate time */
|
|
155
|
-
let frame = 0;
|
|
156
|
-
|
|
157
|
-
/** Current engine time since start in seconds, derived from frame */
|
|
158
|
-
let time = 0;
|
|
159
|
-
|
|
160
|
-
/** Actual clock time since start in seconds (not affected by pause or frame rate clamping) */
|
|
161
|
-
let timeReal = 0;
|
|
162
|
-
|
|
163
|
-
/** Is the game paused? Causes time and objects to not be updated. */
|
|
164
|
-
let paused = 0;
|
|
165
|
-
|
|
166
|
-
// Engine internal variables not exposed to documentation
|
|
167
|
-
let frameTimeLastMS = 0, frameTimeBufferMS = 0, debugFPS = 0,
|
|
168
|
-
shrinkTilesX, shrinkTilesY, drawCount, tileImageSize, tileImageSizeInverse;
|
|
169
|
-
|
|
170
|
-
///////////////////////////////////////////////////////////////////////////////
|
|
171
|
-
|
|
172
|
-
/** Start up LittleJS engine with your callback functions
|
|
173
|
-
* @param {Function} gameInit - Called once after the engine starts up, setup the game
|
|
174
|
-
* @param {Function} gameUpdate - Called every frame at 60 frames per second, handle input and update the game state
|
|
175
|
-
* @param {Function} gameUpdatePost - Called after physics and objects are updated, setup camera and prepare for render
|
|
176
|
-
* @param {Function} gameRender - Called before objects are rendered, draw any background effects that appear behind objects
|
|
177
|
-
* @param {Function} gameRenderPost - Called after objects are rendered, draw effects or hud that appear above all objects
|
|
178
|
-
* @param {String} tileImageSource - Tile image to use, everything starts when the image is finished loading
|
|
179
|
-
*/
|
|
180
|
-
function engineInit(gameInit, gameUpdate, gameUpdatePost, gameRender, gameRenderPost, tileImageSource)
|
|
181
|
-
{
|
|
182
|
-
// init engine when tiles load
|
|
183
|
-
tileImage.onload = ()=>
|
|
184
|
-
{
|
|
185
|
-
// save tile image info
|
|
186
|
-
tileImageSizeInverse = vec2(1).divide(tileImageSize = vec2(tileImage.width, tileImage.height));
|
|
187
|
-
debug && (tileImage.onload=()=>ASSERT(1)); // tile sheet can not reloaded
|
|
188
|
-
shrinkTilesX = tileBleedShrinkFix/tileImageSize.x;
|
|
189
|
-
shrinkTilesY = tileBleedShrinkFix/tileImageSize.y;
|
|
190
|
-
|
|
191
|
-
// setup html
|
|
192
|
-
document.body.appendChild(mainCanvas = document.createElement('canvas'));
|
|
193
|
-
document.body.style = 'margin:0;overflow:hidden;background:#000';
|
|
194
|
-
mainCanvas.style = 'position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)' +
|
|
195
|
-
(pixelated ? ';image-rendering:crisp-edges;image-rendering:pixelated' : ''); // pixelated rendering
|
|
196
|
-
mainContext = mainCanvas.getContext('2d');
|
|
197
|
-
|
|
198
|
-
// init stuff and start engine
|
|
199
|
-
debugInit();
|
|
200
|
-
glInit();
|
|
201
|
-
|
|
202
|
-
// create overlay canvas for hud to appear above gl canvas
|
|
203
|
-
document.body.appendChild(overlayCanvas = document.createElement('canvas'));
|
|
204
|
-
overlayCanvas.style = 'position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)';
|
|
205
|
-
overlayContext = overlayCanvas.getContext('2d');
|
|
206
|
-
|
|
207
|
-
gameInit();
|
|
208
|
-
engineUpdate();
|
|
209
|
-
};
|
|
210
|
-
|
|
211
|
-
// main update loop
|
|
212
|
-
const engineUpdate = (frameTimeMS=0)=>
|
|
213
|
-
{
|
|
214
|
-
requestAnimationFrame(engineUpdate);
|
|
215
|
-
|
|
216
|
-
// update time keeping
|
|
217
|
-
let frameTimeDeltaMS = frameTimeMS - frameTimeLastMS;
|
|
218
|
-
frameTimeLastMS = frameTimeMS;
|
|
219
|
-
if (debug || showWatermark)
|
|
220
|
-
debugFPS = lerp(.05, 1e3/(frameTimeDeltaMS||1), debugFPS);
|
|
221
|
-
if (debug)
|
|
222
|
-
frameTimeDeltaMS *= keyIsDown(107) ? 5 : keyIsDown(109) ? .2 : 1; // +/- to speed/slow time
|
|
223
|
-
timeReal += frameTimeDeltaMS / 1e3;
|
|
224
|
-
frameTimeBufferMS = min(frameTimeBufferMS + !paused * frameTimeDeltaMS, 50); // clamp incase of slow framerate
|
|
225
|
-
|
|
226
|
-
if (paused)
|
|
227
|
-
{
|
|
228
|
-
// do post update even when paused
|
|
229
|
-
inputUpdate();
|
|
230
|
-
debugUpdate();
|
|
231
|
-
gameUpdatePost();
|
|
232
|
-
inputUpdatePost();
|
|
233
|
-
}
|
|
234
|
-
else
|
|
235
|
-
{
|
|
236
|
-
// apply time delta smoothing, improves smoothness of framerate in some browsers
|
|
237
|
-
let deltaSmooth = 0;
|
|
238
|
-
if (frameTimeBufferMS < 0 && frameTimeBufferMS > -9)
|
|
239
|
-
{
|
|
240
|
-
// force an update each frame if time is close enough (not just a fast refresh rate)
|
|
241
|
-
deltaSmooth = frameTimeBufferMS;
|
|
242
|
-
frameTimeBufferMS = 0;
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
// update multiple frames if necessary in case of slow framerate
|
|
246
|
-
for (;frameTimeBufferMS >= 0; frameTimeBufferMS -= 1e3 / FPS)
|
|
247
|
-
{
|
|
248
|
-
// update game and objects
|
|
249
|
-
inputUpdate();
|
|
250
|
-
gameUpdate();
|
|
251
|
-
engineObjectsUpdate();
|
|
252
|
-
|
|
253
|
-
// do post update
|
|
254
|
-
debugUpdate();
|
|
255
|
-
gameUpdatePost();
|
|
256
|
-
inputUpdatePost();
|
|
257
|
-
}
|
|
258
|
-
|
|
259
|
-
// add the time smoothing back in
|
|
260
|
-
frameTimeBufferMS += deltaSmooth;
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
if (fixedWidth)
|
|
264
|
-
{
|
|
265
|
-
// clear set fixed size
|
|
266
|
-
mainCanvas.width = fixedWidth;
|
|
267
|
-
mainCanvas.height = fixedHeight;
|
|
268
|
-
|
|
269
|
-
if (fixedFitToWindow)
|
|
270
|
-
{
|
|
271
|
-
// fit to window by adding space on top or bottom if necessary
|
|
272
|
-
const aspect = innerWidth / innerHeight;
|
|
273
|
-
const fixedAspect = fixedWidth / fixedHeight;
|
|
274
|
-
mainCanvas.style.width = overlayCanvas.style.width = aspect < fixedAspect ? '100%' : '';
|
|
275
|
-
mainCanvas.style.height = overlayCanvas.style.height = aspect < fixedAspect ? '' : '100%';
|
|
276
|
-
if (glCanvas)
|
|
277
|
-
{
|
|
278
|
-
glCanvas.style.width = mainCanvas.style.width;
|
|
279
|
-
glCanvas.style.height = mainCanvas.style.height;
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
}
|
|
283
|
-
else
|
|
284
|
-
{
|
|
285
|
-
// clear and set size to same as window
|
|
286
|
-
mainCanvas.width = min(innerWidth, maxWidth);
|
|
287
|
-
mainCanvas.height = min(innerHeight, maxHeight);
|
|
288
|
-
}
|
|
289
|
-
|
|
290
|
-
// save canvas size and clear overlay canvas
|
|
291
|
-
mainCanvasSize = vec2(overlayCanvas.width = mainCanvas.width, overlayCanvas.height = mainCanvas.height);
|
|
292
|
-
mainContext.imageSmoothingEnabled = !pixelated; // disable smoothing for pixel art
|
|
293
|
-
|
|
294
|
-
// render sort then render while removing destroyed objects
|
|
295
|
-
glPreRender(mainCanvas.width, mainCanvas.height);
|
|
296
|
-
gameRender();
|
|
297
|
-
engineObjects.sort((a,b)=> a.renderOrder - b.renderOrder);
|
|
298
|
-
for (const o of engineObjects)
|
|
299
|
-
o.destroyed || o.render();
|
|
300
|
-
gameRenderPost();
|
|
301
|
-
medalsRender();
|
|
302
|
-
debugRender();
|
|
303
|
-
glCopyToContext(mainContext);
|
|
304
|
-
|
|
305
|
-
if (showWatermark)
|
|
306
|
-
{
|
|
307
|
-
// update fps
|
|
308
|
-
overlayContext.textAlign = 'right';
|
|
309
|
-
overlayContext.textBaseline = 'top';
|
|
310
|
-
overlayContext.font = '1em monospace';
|
|
311
|
-
overlayContext.fillStyle = '#000';
|
|
312
|
-
const text = engineName + ' ' + 'v' + engineVersion + ' / '
|
|
313
|
-
+ drawCount + ' / ' + engineObjects.length + ' / ' + debugFPS.toFixed(1);
|
|
314
|
-
overlayContext.fillText(text, mainCanvas.width-3, 3);
|
|
315
|
-
overlayContext.fillStyle = '#fff';
|
|
316
|
-
overlayContext.fillText(text, mainCanvas.width-2, 2);
|
|
317
|
-
drawCount = 0;
|
|
318
|
-
}
|
|
319
|
-
}
|
|
320
|
-
|
|
321
|
-
// set tile image source to load the image and start the engine
|
|
322
|
-
tileImageSource ? tileImage.src = tileImageSource : tileImage.onload();
|
|
323
|
-
}
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
///////////////////////////////////////////////////////////////////////////////
|
|
327
|
-
|
|
328
|
-
/** Calls update on each engine object (recursively if child), removes destroyed objects, and updated time */
|
|
329
|
-
function engineObjectsUpdate()
|
|
330
|
-
{
|
|
331
|
-
// recursive object update
|
|
332
|
-
const updateObject = (o)=>
|
|
333
|
-
{
|
|
334
|
-
if (!o.destroyed)
|
|
335
|
-
{
|
|
336
|
-
o.update();
|
|
337
|
-
for (const child of o.children)
|
|
338
|
-
updateObject(child);
|
|
339
|
-
}
|
|
340
|
-
}
|
|
341
|
-
for (const o of engineObjects)
|
|
342
|
-
o.parent || updateObject(o);
|
|
343
|
-
|
|
344
|
-
// remove destroyed objects
|
|
345
|
-
engineObjects = engineObjects.filter(o=>!o.destroyed);
|
|
346
|
-
engineCollideObjects = engineCollideObjects.filter(o=>!o.destroyed);
|
|
347
|
-
|
|
348
|
-
// increment frame and update time
|
|
349
|
-
time = ++frame / FPS;
|
|
350
|
-
}
|
|
351
|
-
|
|
352
|
-
/** Detroy and remove all objects that are not persistent or descendants of a persistent object */
|
|
353
|
-
function engineObjectsDestroy()
|
|
354
|
-
{
|
|
355
|
-
for (const o of engineObjects)
|
|
356
|
-
o.persistent || o.parent || o.destroy();
|
|
357
|
-
engineObjects = engineObjects.filter(o=>!o.destroyed);
|
|
358
|
-
}
|
|
359
|
-
|
|
360
|
-
/** Triggers a callback for each object within a given area
|
|
361
|
-
* @param {Vector2} [pos] - Center of test area
|
|
362
|
-
* @param {Number} [size] - Radius of circle if float, rectangle size if Vector2
|
|
363
|
-
* @param {Function} [callbackFunction] - Calls this function on every object that passes the test
|
|
364
|
-
* @param {Array} [objects=engineObjects] - List of objects to check */
|
|
365
|
-
function engineObjectsCallback(pos, size, callbackFunction, objects=engineObjects)
|
|
366
|
-
{
|
|
367
|
-
if (!pos)
|
|
368
|
-
{
|
|
369
|
-
// all objects
|
|
370
|
-
for (const o of objects)
|
|
371
|
-
callbackFunction(o);
|
|
372
|
-
}
|
|
373
|
-
else if (size.x != undefined)
|
|
374
|
-
{
|
|
375
|
-
// aabb test
|
|
376
|
-
for (const o of objects)
|
|
377
|
-
isOverlapping(pos, size, o.pos, o.size) && callbackFunction(o);
|
|
378
|
-
}
|
|
379
|
-
else
|
|
380
|
-
{
|
|
381
|
-
// circle test
|
|
382
|
-
const sizeSquared = size*size;
|
|
383
|
-
for (const o of objects)
|
|
384
|
-
pos.distanceSquared(o.pos) < sizeSquared && callbackFunction(o);
|
|
385
|
-
}
|
|
386
|
-
}</code></pre>
|
|
387
|
-
</article>
|
|
388
|
-
</section>
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
</div>
|
|
394
|
-
|
|
395
|
-
<footer class="footer" id="footer">
|
|
396
|
-
<a href=https://github.com/KilledByAPixel/LittleJS>LittleJS - MIT License - Copyright 2021 Frank Force</a>
|
|
397
|
-
</footer>
|
|
398
|
-
|
|
399
|
-
<script src="scripts/third-party/prettify.js"></script>
|
|
400
|
-
<script src="scripts/third-party/lang-css.js"></script>
|
|
401
|
-
<script type="text/javascript" src="scripts/misc.js"></script>
|
|
402
|
-
|
|
403
|
-
<script>prettyPrint();</script>
|
|
404
|
-
<script src="scripts/linenumber.js"></script>
|
|
405
|
-
<script src="scripts/fix-code-block.js"></script>
|
|
406
|
-
<script src="scripts/fix-navbar.js"></script>
|
|
407
|
-
|
|
408
|
-
<script src="scripts/search.js"></script>
|
|
409
|
-
<script src="scripts/third-party/fuse.js"></script>
|
|
410
|
-
<script>
|
|
411
|
-
var list = [{"title":"Color","link":"<a href=\"Color.html\">Color</a>"},{"title":"Color#add","link":"<a href=\"Color.html#add\">Color ▸ add</a>"},{"title":"Color#clamp","link":"<a href=\"Color.html#clamp\">Color ▸ clamp</a>"},{"title":"Color#copy","link":"<a href=\"Color.html#copy\">Color ▸ copy</a>"},{"title":"Color#divide","link":"<a href=\"Color.html#divide\">Color ▸ divide</a>"},{"title":"Color#lerp","link":"<a href=\"Color.html#lerp\">Color ▸ lerp</a>"},{"title":"Color#multiply","link":"<a href=\"Color.html#multiply\">Color ▸ multiply</a>"},{"title":"Color#mutate","link":"<a href=\"Color.html#mutate\">Color ▸ mutate</a>"},{"title":"Color#rgba","link":"<a href=\"Color.html#rgba\">Color ▸ rgba</a>"},{"title":"Color#rgbaInt","link":"<a href=\"Color.html#rgbaInt\">Color ▸ rgbaInt</a>"},{"title":"Color#scale","link":"<a href=\"Color.html#scale\">Color ▸ scale</a>"},{"title":"Color#setHSLA","link":"<a href=\"Color.html#setHSLA\">Color ▸ setHSLA</a>"},{"title":"Color#subtract","link":"<a href=\"Color.html#subtract\">Color ▸ subtract</a>"},{"title":"EngineObject","link":"<a href=\"EngineObject.html\">EngineObject</a>"},{"title":"EngineObject#addChild","link":"<a href=\"EngineObject.html#addChild\">EngineObject ▸ addChild</a>"},{"title":"EngineObject#applyAcceleration","link":"<a href=\"EngineObject.html#applyAcceleration\">EngineObject ▸ applyAcceleration</a>"},{"title":"EngineObject#applyForce","link":"<a href=\"EngineObject.html#applyForce\">EngineObject ▸ applyForce</a>"},{"title":"EngineObject#collideWithObject","link":"<a href=\"EngineObject.html#collideWithObject\">EngineObject ▸ collideWithObject</a>"},{"title":"EngineObject#collideWithTile","link":"<a href=\"EngineObject.html#collideWithTile\">EngineObject ▸ collideWithTile</a>"},{"title":"EngineObject#collideWithTileRaycast","link":"<a href=\"EngineObject.html#collideWithTileRaycast\">EngineObject ▸ collideWithTileRaycast</a>"},{"title":"EngineObject#destroy","link":"<a href=\"EngineObject.html#destroy\">EngineObject ▸ destroy</a>"},{"title":"EngineObject#getAliveTime","link":"<a href=\"EngineObject.html#getAliveTime\">EngineObject ▸ getAliveTime</a>"},{"title":"EngineObject#getMirrorSign","link":"<a href=\"EngineObject.html#getMirrorSign\">EngineObject ▸ getMirrorSign</a>"},{"title":"EngineObject#removeChild","link":"<a href=\"EngineObject.html#removeChild\">EngineObject ▸ removeChild</a>"},{"title":"EngineObject#render","link":"<a href=\"EngineObject.html#render\">EngineObject ▸ render</a>"},{"title":"EngineObject#setCollision","link":"<a href=\"EngineObject.html#setCollision\">EngineObject ▸ setCollision</a>"},{"title":"EngineObject#update","link":"<a href=\"EngineObject.html#update\">EngineObject ▸ update</a>"},{"title":"Medal","link":"<a href=\"Medal.html\">Medal</a>"},{"title":"Medal#render","link":"<a href=\"Medal.html#render\">Medal ▸ render</a>"},{"title":"Medal#renderIcon","link":"<a href=\"Medal.html#renderIcon\">Medal ▸ renderIcon</a>"},{"title":"Medal#unlock","link":"<a href=\"Medal.html#unlock\">Medal ▸ unlock</a>"},{"title":"Music","link":"<a href=\"Music.html\">Music</a>"},{"title":"Music#play","link":"<a href=\"Music.html#play\">Music ▸ play</a>"},{"title":"Newgrounds","link":"<a href=\"Newgrounds.html\">Newgrounds</a>"},{"title":"Newgrounds#call","link":"<a href=\"Newgrounds.html#call\">Newgrounds ▸ call</a>"},{"title":"Newgrounds#getScores","link":"<a href=\"Newgrounds.html#getScores\">Newgrounds ▸ getScores</a>"},{"title":"Newgrounds#logView","link":"<a href=\"Newgrounds.html#logView\">Newgrounds ▸ logView</a>"},{"title":"Newgrounds#postScore","link":"<a href=\"Newgrounds.html#postScore\">Newgrounds ▸ postScore</a>"},{"title":"Newgrounds#unlockMedal","link":"<a href=\"Newgrounds.html#unlockMedal\">Newgrounds ▸ unlockMedal</a>"},{"title":"Particle","link":"<a href=\"Particle.html\">Particle</a>"},{"title":"Particle#render","link":"<a href=\"Particle.html#render\">Particle ▸ render</a>"},{"title":"ParticleEmitter","link":"<a href=\"ParticleEmitter.html\">ParticleEmitter</a>"},{"title":"ParticleEmitter#emitParticle","link":"<a href=\"ParticleEmitter.html#emitParticle\">ParticleEmitter ▸ emitParticle</a>"},{"title":"ParticleEmitter#update","link":"<a href=\"ParticleEmitter.html#update\">ParticleEmitter ▸ update</a>"},{"title":"Sound","link":"<a href=\"Sound.html\">Sound</a>"},{"title":"Sound#play","link":"<a href=\"Sound.html#play\">Sound ▸ play</a>"},{"title":"Sound#playNote","link":"<a href=\"Sound.html#playNote\">Sound ▸ playNote</a>"},{"title":"TileLayer","link":"<a href=\"TileLayer.html\">TileLayer</a>"},{"title":"TileLayer.getTileCollisionData","link":"<a href=\"TileLayer.html#.getTileCollisionData\">TileLayer.getTileCollisionData ▸ undefined</a>"},{"title":"TileLayer.initTileCollision","link":"<a href=\"TileLayer.html#.initTileCollision\">TileLayer.initTileCollision ▸ undefined</a>"},{"title":"TileLayer.setTileCollisionData","link":"<a href=\"TileLayer.html#.setTileCollisionData\">TileLayer.setTileCollisionData ▸ undefined</a>"},{"title":"TileLayer.tileCollisionRaycast","link":"<a href=\"TileLayer.html#.tileCollisionRaycast\">TileLayer.tileCollisionRaycast ▸ undefined</a>"},{"title":"TileLayer.tileCollisionTest","link":"<a href=\"TileLayer.html#.tileCollisionTest\">TileLayer.tileCollisionTest ▸ undefined</a>"},{"title":"TileLayer#destroy","link":"<a href=\"TileLayer.html#destroy\">TileLayer ▸ destroy</a>"},{"title":"TileLayer#drawAllTileData","link":"<a href=\"TileLayer.html#drawAllTileData\">TileLayer ▸ drawAllTileData</a>"},{"title":"TileLayer#drawCanvas2D","link":"<a href=\"TileLayer.html#drawCanvas2D\">TileLayer ▸ drawCanvas2D</a>"},{"title":"TileLayer#drawRect","link":"<a href=\"TileLayer.html#drawRect\">TileLayer ▸ drawRect</a>"},{"title":"TileLayer#drawTile","link":"<a href=\"TileLayer.html#drawTile\">TileLayer ▸ drawTile</a>"},{"title":"TileLayer#drawTileData","link":"<a href=\"TileLayer.html#drawTileData\">TileLayer ▸ drawTileData</a>"},{"title":"TileLayer#getData","link":"<a href=\"TileLayer.html#getData\">TileLayer ▸ getData</a>"},{"title":"TileLayer#redraw","link":"<a href=\"TileLayer.html#redraw\">TileLayer ▸ redraw</a>"},{"title":"TileLayer#redrawEnd","link":"<a href=\"TileLayer.html#redrawEnd\">TileLayer ▸ redrawEnd</a>"},{"title":"TileLayer#redrawStart","link":"<a href=\"TileLayer.html#redrawStart\">TileLayer ▸ redrawStart</a>"},{"title":"TileLayer#setData","link":"<a href=\"TileLayer.html#setData\">TileLayer ▸ setData</a>"},{"title":"TileLayerData","link":"<a href=\"TileLayerData.html\">TileLayerData</a>"},{"title":"TileLayerData#clear","link":"<a href=\"TileLayerData.html#clear\">TileLayerData ▸ clear</a>"},{"title":"Timer","link":"<a href=\"Timer.html\">Timer</a>"},{"title":"Timer#active","link":"<a href=\"Timer.html#active\">Timer ▸ active</a>"},{"title":"Timer#elapsed","link":"<a href=\"Timer.html#elapsed\">Timer ▸ elapsed</a>"},{"title":"Timer#get","link":"<a href=\"Timer.html#get\">Timer ▸ get</a>"},{"title":"Timer#getPercent","link":"<a href=\"Timer.html#getPercent\">Timer ▸ getPercent</a>"},{"title":"Timer#isSet","link":"<a href=\"Timer.html#isSet\">Timer ▸ isSet</a>"},{"title":"Timer#set","link":"<a href=\"Timer.html#set\">Timer ▸ set</a>"},{"title":"Timer#unset","link":"<a href=\"Timer.html#unset\">Timer ▸ unset</a>"},{"title":"Vector2","link":"<a href=\"Vector2.html\">Vector2</a>"},{"title":"Vector2#add","link":"<a href=\"Vector2.html#add\">Vector2 ▸ add</a>"},{"title":"Vector2#angle","link":"<a href=\"Vector2.html#angle\">Vector2 ▸ angle</a>"},{"title":"Vector2#area","link":"<a href=\"Vector2.html#area\">Vector2 ▸ area</a>"},{"title":"Vector2#arrayCheck","link":"<a href=\"Vector2.html#arrayCheck\">Vector2 ▸ arrayCheck</a>"},{"title":"Vector2#clampLength","link":"<a href=\"Vector2.html#clampLength\">Vector2 ▸ clampLength</a>"},{"title":"Vector2#copy","link":"<a href=\"Vector2.html#copy\">Vector2 ▸ copy</a>"},{"title":"Vector2#cross","link":"<a href=\"Vector2.html#cross\">Vector2 ▸ cross</a>"},{"title":"Vector2#direction","link":"<a href=\"Vector2.html#direction\">Vector2 ▸ direction</a>"},{"title":"Vector2#distance","link":"<a href=\"Vector2.html#distance\">Vector2 ▸ distance</a>"},{"title":"Vector2#distanceSquared","link":"<a href=\"Vector2.html#distanceSquared\">Vector2 ▸ distanceSquared</a>"},{"title":"Vector2#divide","link":"<a href=\"Vector2.html#divide\">Vector2 ▸ divide</a>"},{"title":"Vector2#dot","link":"<a href=\"Vector2.html#dot\">Vector2 ▸ dot</a>"},{"title":"Vector2#flip","link":"<a href=\"Vector2.html#flip\">Vector2 ▸ flip</a>"},{"title":"Vector2#floor","link":"<a href=\"Vector2.html#floor\">Vector2 ▸ floor</a>"},{"title":"Vector2#invert","link":"<a href=\"Vector2.html#invert\">Vector2 ▸ invert</a>"},{"title":"Vector2#length","link":"<a href=\"Vector2.html#length\">Vector2 ▸ length</a>"},{"title":"Vector2#lengthSquared","link":"<a href=\"Vector2.html#lengthSquared\">Vector2 ▸ lengthSquared</a>"},{"title":"Vector2#lerp","link":"<a href=\"Vector2.html#lerp\">Vector2 ▸ lerp</a>"},{"title":"Vector2#multiply","link":"<a href=\"Vector2.html#multiply\">Vector2 ▸ multiply</a>"},{"title":"Vector2#normalize","link":"<a href=\"Vector2.html#normalize\">Vector2 ▸ normalize</a>"},{"title":"Vector2#rotate","link":"<a href=\"Vector2.html#rotate\">Vector2 ▸ rotate</a>"},{"title":"Vector2#scale","link":"<a href=\"Vector2.html#scale\">Vector2 ▸ scale</a>"},{"title":"Vector2#setAngle","link":"<a href=\"Vector2.html#setAngle\">Vector2 ▸ setAngle</a>"},{"title":"Vector2#subtract","link":"<a href=\"Vector2.html#subtract\">Vector2 ▸ subtract</a>"},{"title":"Audio","link":"<a href=\"Audio.html\">Audio</a>"},{"title":"Audio.getNoteFrequency","link":"<a href=\"Audio.html#.getNoteFrequency\">Audio.getNoteFrequency ▸ undefined</a>"},{"title":"Audio.playAudioFile","link":"<a href=\"Audio.html#.playAudioFile\">Audio.playAudioFile ▸ undefined</a>"},{"title":"Audio.playSamples","link":"<a href=\"Audio.html#.playSamples\">Audio.playSamples ▸ undefined</a>"},{"title":"Audio.speak","link":"<a href=\"Audio.html#.speak\">Audio.speak ▸ undefined</a>"},{"title":"Audio.stopSpeech","link":"<a href=\"Audio.html#.stopSpeech\">Audio.stopSpeech ▸ undefined</a>"},{"title":"Audio.zzfx","link":"<a href=\"Audio.html#.zzfx\">Audio.zzfx ▸ undefined</a>"},{"title":"Audio.zzfxG","link":"<a href=\"Audio.html#.zzfxG\">Audio.zzfxG ▸ undefined</a>"},{"title":"Audio.zzfxM","link":"<a href=\"Audio.html#.zzfxM\">Audio.zzfxM ▸ undefined</a>"},{"title":"Debug","link":"<a href=\"Debug.html\">Debug</a>"},{"title":"Debug.debugAABB","link":"<a href=\"Debug.html#.debugAABB\">Debug.debugAABB ▸ undefined</a>"},{"title":"Debug.debugCircle","link":"<a href=\"Debug.html#.debugCircle\">Debug.debugCircle ▸ undefined</a>"},{"title":"Debug.debugClear","link":"<a href=\"Debug.html#.debugClear\">Debug.debugClear ▸ undefined</a>"},{"title":"Debug.debugLine","link":"<a href=\"Debug.html#.debugLine\">Debug.debugLine ▸ undefined</a>"},{"title":"Debug.debugPoint","link":"<a href=\"Debug.html#.debugPoint\">Debug.debugPoint ▸ undefined</a>"},{"title":"Debug.debugRect","link":"<a href=\"Debug.html#.debugRect\">Debug.debugRect ▸ undefined</a>"},{"title":"Debug.debugSaveCanvas","link":"<a href=\"Debug.html#.debugSaveCanvas\">Debug.debugSaveCanvas ▸ undefined</a>"},{"title":"Debug.debugText","link":"<a href=\"Debug.html#.debugText\">Debug.debugText ▸ undefined</a>"},{"title":"Draw","link":"<a href=\"Draw.html\">Draw</a>"},{"title":"Draw.drawCanvas2D","link":"<a href=\"Draw.html#.drawCanvas2D\">Draw.drawCanvas2D ▸ undefined</a>"},{"title":"Draw.drawLine","link":"<a href=\"Draw.html#.drawLine\">Draw.drawLine ▸ undefined</a>"},{"title":"Draw.drawRect","link":"<a href=\"Draw.html#.drawRect\">Draw.drawRect ▸ undefined</a>"},{"title":"Draw.drawRectScreenSpace","link":"<a href=\"Draw.html#.drawRectScreenSpace\">Draw.drawRectScreenSpace ▸ undefined</a>"},{"title":"Draw.drawText","link":"<a href=\"Draw.html#.drawText\">Draw.drawText ▸ undefined</a>"},{"title":"Draw.drawTile","link":"<a href=\"Draw.html#.drawTile\">Draw.drawTile ▸ undefined</a>"},{"title":"Draw.drawTileScreenSpace","link":"<a href=\"Draw.html#.drawTileScreenSpace\">Draw.drawTileScreenSpace ▸ undefined</a>"},{"title":"Draw.isFullscreen","link":"<a href=\"Draw.html#.isFullscreen\">Draw.isFullscreen ▸ undefined</a>"},{"title":"Draw.screenToWorld","link":"<a href=\"Draw.html#.screenToWorld\">Draw.screenToWorld ▸ undefined</a>"},{"title":"Draw.setBlendMode","link":"<a href=\"Draw.html#.setBlendMode\">Draw.setBlendMode ▸ undefined</a>"},{"title":"Draw.toggleFullscreen","link":"<a href=\"Draw.html#.toggleFullscreen\">Draw.toggleFullscreen ▸ undefined</a>"},{"title":"Draw.worldToScreen","link":"<a href=\"Draw.html#.worldToScreen\">Draw.worldToScreen ▸ undefined</a>"},{"title":"Input","link":"<a href=\"Input.html\">Input</a>"},{"title":"Input.clearInput","link":"<a href=\"Input.html#.clearInput\">Input.clearInput ▸ undefined</a>"},{"title":"Input.gamepadIsDown","link":"<a href=\"Input.html#.gamepadIsDown\">Input.gamepadIsDown ▸ undefined</a>"},{"title":"Input.gamepadStick","link":"<a href=\"Input.html#.gamepadStick\">Input.gamepadStick ▸ undefined</a>"},{"title":"Input.gamepadWasPressed","link":"<a href=\"Input.html#.gamepadWasPressed\">Input.gamepadWasPressed ▸ undefined</a>"},{"title":"Input.gamepadWasReleased","link":"<a href=\"Input.html#.gamepadWasReleased\">Input.gamepadWasReleased ▸ undefined</a>"},{"title":"Input.keyIsDown","link":"<a href=\"Input.html#.keyIsDown\">Input.keyIsDown ▸ undefined</a>"},{"title":"Input.keyWasPressed","link":"<a href=\"Input.html#.keyWasPressed\">Input.keyWasPressed ▸ undefined</a>"},{"title":"Input.keyWasReleased","link":"<a href=\"Input.html#.keyWasReleased\">Input.keyWasReleased ▸ undefined</a>"},{"title":"Medals","link":"<a href=\"Medals.html\">Medals</a>"},{"title":"Medals.medalsInit","link":"<a href=\"Medals.html#.medalsInit\">Medals.medalsInit ▸ undefined</a>"},{"title":"Random","link":"<a href=\"Random.html\">Random</a>"},{"title":"Random.rand","link":"<a href=\"Random.html#.rand\">Random.rand ▸ undefined</a>"},{"title":"Random.randColor","link":"<a href=\"Random.html#.randColor\">Random.randColor ▸ undefined</a>"},{"title":"Random.randInCircle","link":"<a href=\"Random.html#.randInCircle\">Random.randInCircle ▸ undefined</a>"},{"title":"Random.randInt","link":"<a href=\"Random.html#.randInt\">Random.randInt ▸ undefined</a>"},{"title":"Random.randSeeded","link":"<a href=\"Random.html#.randSeeded\">Random.randSeeded ▸ undefined</a>"},{"title":"Random.randSign","link":"<a href=\"Random.html#.randSign\">Random.randSign ▸ undefined</a>"},{"title":"Random.randVector","link":"<a href=\"Random.html#.randVector\">Random.randVector ▸ undefined</a>"},{"title":"Settings","link":"<a href=\"Settings.html\">Settings</a>"},{"title":"Utilities","link":"<a href=\"Utilities.html\">Utilities</a>"},{"title":"Utilities.abs","link":"<a href=\"Utilities.html#.abs\">Utilities.abs ▸ undefined</a>"},{"title":"Utilities.clamp","link":"<a href=\"Utilities.html#.clamp\">Utilities.clamp ▸ undefined</a>"},{"title":"Utilities.formatTime","link":"<a href=\"Utilities.html#.formatTime\">Utilities.formatTime ▸ undefined</a>"},{"title":"Utilities.isOverlapping","link":"<a href=\"Utilities.html#.isOverlapping\">Utilities.isOverlapping ▸ undefined</a>"},{"title":"Utilities.lerp","link":"<a href=\"Utilities.html#.lerp\">Utilities.lerp ▸ undefined</a>"},{"title":"Utilities.max","link":"<a href=\"Utilities.html#.max\">Utilities.max ▸ undefined</a>"},{"title":"Utilities.min","link":"<a href=\"Utilities.html#.min\">Utilities.min ▸ undefined</a>"},{"title":"Utilities.mod","link":"<a href=\"Utilities.html#.mod\">Utilities.mod ▸ undefined</a>"},{"title":"Utilities.nearestPowerOfTwo","link":"<a href=\"Utilities.html#.nearestPowerOfTwo\">Utilities.nearestPowerOfTwo ▸ undefined</a>"},{"title":"Utilities.percent","link":"<a href=\"Utilities.html#.percent\">Utilities.percent ▸ undefined</a>"},{"title":"Utilities.sign","link":"<a href=\"Utilities.html#.sign\">Utilities.sign ▸ undefined</a>"},{"title":"Utilities.smoothStep","link":"<a href=\"Utilities.html#.smoothStep\">Utilities.smoothStep ▸ undefined</a>"},{"title":"Utilities.vec2","link":"<a href=\"Utilities.html#.vec2\">Utilities.vec2 ▸ undefined</a>"},{"title":"Utilities.wave","link":"<a href=\"Utilities.html#.wave\">Utilities.wave ▸ undefined</a>"},{"title":"WebGL","link":"<a href=\"WebGL.html\">WebGL</a>"},{"title":"WebGL.glCompileShader","link":"<a href=\"WebGL.html#.glCompileShader\">WebGL.glCompileShader ▸ undefined</a>"},{"title":"WebGL.glCopyToContext","link":"<a href=\"WebGL.html#.glCopyToContext\">WebGL.glCopyToContext ▸ undefined</a>"},{"title":"WebGL.glCreateBuffer","link":"<a href=\"WebGL.html#.glCreateBuffer\">WebGL.glCreateBuffer ▸ undefined</a>"},{"title":"WebGL.glCreateProgram","link":"<a href=\"WebGL.html#.glCreateProgram\">WebGL.glCreateProgram ▸ undefined</a>"},{"title":"WebGL.glCreateTexture","link":"<a href=\"WebGL.html#.glCreateTexture\">WebGL.glCreateTexture ▸ undefined</a>"},{"title":"WebGL.glFlush","link":"<a href=\"WebGL.html#.glFlush\">WebGL.glFlush ▸ undefined</a>"},{"title":"WebGL.glSetBlendMode","link":"<a href=\"WebGL.html#.glSetBlendMode\">WebGL.glSetBlendMode ▸ undefined</a>"},{"title":"WebGL.glSetTexture","link":"<a href=\"WebGL.html#.glSetTexture\">WebGL.glSetTexture ▸ undefined</a>"},{"title":"engineCollideObjects","link":"<a href=\"global.html#engineCollideObjects\">engineCollideObjects</a>"},{"title":"engineInit","link":"<a href=\"global.html#engineInit\">engineInit</a>"},{"title":"engineName","link":"<a href=\"global.html#engineName\">engineName</a>"},{"title":"engineObjects","link":"<a href=\"global.html#engineObjects\">engineObjects</a>"},{"title":"engineObjectsCallback","link":"<a href=\"global.html#engineObjectsCallback\">engineObjectsCallback</a>"},{"title":"engineObjectsDestroy","link":"<a href=\"global.html#engineObjectsDestroy\">engineObjectsDestroy</a>"},{"title":"engineObjectsUpdate","link":"<a href=\"global.html#engineObjectsUpdate\">engineObjectsUpdate</a>"},{"title":"engineVersion","link":"<a href=\"global.html#engineVersion\">engineVersion</a>"},{"title":"FPS","link":"<a href=\"global.html#FPS\">FPS</a>"},{"title":"frame","link":"<a href=\"global.html#frame\">frame</a>"},{"title":"paused","link":"<a href=\"global.html#paused\">paused</a>"},{"title":"time","link":"<a href=\"global.html#time\">time</a>"},{"title":"timeDelta","link":"<a href=\"global.html#timeDelta\">timeDelta</a>"},{"title":"timeReal","link":"<a href=\"global.html#timeReal\">timeReal</a>"}];
|
|
412
|
-
var options =
|
|
413
|
-
setupSearch(list, options)
|
|
414
|
-
</script>
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
</body>
|
|
427
|
-
|
|
428
|
-
</html>
|