littlejsengine 1.1.6 → 1.1.8

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 (85) hide show
  1. package/docs/Audio.html +2268 -0
  2. package/docs/Color.html +2989 -0
  3. package/docs/Debug.html +2933 -0
  4. package/docs/Draw.html +4092 -0
  5. package/docs/EngineObject.html +4458 -0
  6. package/docs/Input.html +2482 -0
  7. package/docs/Medal.html +1007 -0
  8. package/docs/Medals.html +628 -0
  9. package/docs/Music.html +584 -0
  10. package/docs/Newgrounds.html +1399 -0
  11. package/docs/Particle.html +4535 -0
  12. package/docs/ParticleEmitter.html +7770 -0
  13. package/docs/Random.html +1774 -0
  14. package/docs/Settings.html +2679 -0
  15. package/docs/Sound.html +1249 -0
  16. package/docs/TileCollision.html +1409 -0
  17. package/docs/TileLayer.html +6948 -0
  18. package/docs/TileLayerData.html +1052 -0
  19. package/docs/Timer.html +1183 -0
  20. package/docs/Utilities.html +3281 -0
  21. package/docs/Vector2.html +4207 -0
  22. package/docs/WebGL.html +2327 -0
  23. package/docs/engine.js.html +429 -0
  24. package/docs/engineAudio.js.html +609 -0
  25. package/docs/engineDebug.js.html +725 -0
  26. package/docs/engineDraw.js.html +419 -0
  27. package/docs/engineInput.js.html +401 -0
  28. package/docs/engineMedals.js.html +461 -0
  29. package/docs/engineObject.js.html +518 -0
  30. package/docs/engineParticles.js.html +441 -0
  31. package/docs/engineSettings.js.html +349 -0
  32. package/docs/engineTileLayer.js.html +513 -0
  33. package/docs/engineUtilities.js.html +647 -0
  34. package/docs/engineWebGL.js.html +522 -0
  35. package/docs/fonts/MavenPro-Regular.ttf +0 -0
  36. package/docs/fonts/Montserrat-Regular.ttf +0 -0
  37. package/docs/fonts/Muli-Black.ttf +0 -0
  38. package/docs/fonts/OFL-hind.txt +93 -0
  39. package/docs/fonts/OFL-montserrat.txt +93 -0
  40. package/docs/global.html +1691 -0
  41. package/docs/index.css +6 -0
  42. package/docs/index.html +247 -0
  43. package/docs/scripts/fix-code-block.js +53 -0
  44. package/docs/scripts/fix-navbar.js +25 -0
  45. package/docs/scripts/linenumber.js +25 -0
  46. package/docs/scripts/misc.js +217 -0
  47. package/docs/scripts/resize.js +85 -0
  48. package/docs/scripts/search.js +83 -0
  49. package/docs/scripts/third-party/Apache-License-2.0.txt +202 -0
  50. package/docs/scripts/third-party/fuse.js +9 -0
  51. package/docs/scripts/third-party/lang-css.js +2 -0
  52. package/docs/scripts/third-party/prettify.js +28 -0
  53. package/docs/static/favicon.png +0 -0
  54. package/docs/static/index.css +4 -0
  55. package/docs/styles/clean-jsdoc-theme-base.css +393 -0
  56. package/docs/styles/clean-jsdoc-theme-dark.css +324 -0
  57. package/docs/styles/clean-jsdoc-theme-light.css +319 -0
  58. package/docs/styles/reset.css +346 -0
  59. package/docs/styles/third-party/ionicons.min.css +11 -0
  60. package/docs/styles/third-party/prettify-jsdoc.css +111 -0
  61. package/docs/styles/third-party/prettify-tomorrow.css +5 -0
  62. package/engine/engine.all.js +94 -110
  63. package/engine/engine.all.min.js +1 -1
  64. package/engine/engine.all.release.js +94 -110
  65. package/engine/engine.js +14 -17
  66. package/engine/engineAudio.js +7 -7
  67. package/engine/engineDraw.js +6 -6
  68. package/engine/engineInput.js +7 -7
  69. package/engine/engineMedals.js +3 -3
  70. package/engine/engineObject.js +15 -15
  71. package/engine/engineParticles.js +3 -3
  72. package/engine/engineSettings.js +30 -43
  73. package/engine/engineTileLayer.js +5 -5
  74. package/engine/engineUtilities.js +4 -4
  75. package/examples/breakout/game.js +1 -1
  76. package/examples/breakout/gameObjects.js +1 -1
  77. package/examples/breakout/index.html +3 -3
  78. package/examples/platformer/gameObjects.js +1 -1
  79. package/examples/platformer/gamePlayer.js +1 -1
  80. package/examples/platformer/index.html +6 -6
  81. package/examples/puzzle/game.js +1 -1
  82. package/examples/puzzle/index.html +2 -2
  83. package/examples/stress/index.html +1 -1
  84. package/index.html +13 -13
  85. package/package.json +1 -1
@@ -0,0 +1,513 @@
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
+ engineTileLayer.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
+ <style>
49
+ .prettyprint code {font-family:monospace}
50
+ </style>
51
+
52
+ <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
53
+ style="display:none">
54
+ <defs>
55
+ <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
56
+ <g>
57
+ <path
58
+ 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" />
59
+ <path
60
+ 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" />
61
+ </g>
62
+ </symbol>
63
+ <symbol id='search-icon' viewBox="0 0 512 512">
64
+ <g>
65
+ <g>
66
+ <path
67
+ 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" />
68
+ </g>
69
+ </g>
70
+ <g>
71
+ <g>
72
+ <path
73
+ 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" />
74
+ </g>
75
+ </g>
76
+ </symbol>
77
+ <symbol id="down-icon" viewBox="0 0 16 16">
78
+ <path
79
+ fill-rule="evenodd"
80
+ clip-rule="evenodd"
81
+ 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"
82
+ >
83
+ </path>
84
+ </symbol>
85
+ </defs>
86
+ </svg>
87
+ </head>
88
+
89
+ <body>
90
+
91
+ <nav class="navbar" id="navbar">
92
+ <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="3026681" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=864267><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=3569399><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=2970668><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=2533015><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=5490011><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=5370538><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#addChild">addChild</a></li><li data-type='method'><a href="Particle.html#applyAcceleration">applyAcceleration</a></li><li data-type='method'><a href="Particle.html#applyForce">applyForce</a></li><li data-type='method'><a href="Particle.html#collideWithObject">collideWithObject</a></li><li data-type='method'><a href="Particle.html#collideWithTile">collideWithTile</a></li><li data-type='method'><a href="Particle.html#collideWithTileRaycast">collideWithTileRaycast</a></li><li data-type='method'><a href="Particle.html#destroy">destroy</a></li><li data-type='method'><a href="Particle.html#getAliveTime">getAliveTime</a></li><li data-type='method'><a href="Particle.html#getMirrorSign">getMirrorSign</a></li><li data-type='method'><a href="Particle.html#removeChild">removeChild</a></li><li data-type='method'><a href="Particle.html#render">render</a></li><li data-type='method'><a href="Particle.html#setCollision">setCollision</a></li><li data-type='method'><a href="Particle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4983401><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#addChild">addChild</a></li><li data-type='method'><a href="ParticleEmitter.html#applyAcceleration">applyAcceleration</a></li><li data-type='method'><a href="ParticleEmitter.html#applyForce">applyForce</a></li><li data-type='method'><a href="ParticleEmitter.html#collideWithObject">collideWithObject</a></li><li data-type='method'><a href="ParticleEmitter.html#collideWithTile">collideWithTile</a></li><li data-type='method'><a href="ParticleEmitter.html#collideWithTileRaycast">collideWithTileRaycast</a></li><li data-type='method'><a href="ParticleEmitter.html#destroy">destroy</a></li><li data-type='method'><a href="ParticleEmitter.html#emitParticle">emitParticle</a></li><li data-type='method'><a href="ParticleEmitter.html#getAliveTime">getAliveTime</a></li><li data-type='method'><a href="ParticleEmitter.html#getMirrorSign">getMirrorSign</a></li><li data-type='method'><a href="ParticleEmitter.html#removeChild">removeChild</a></li><li data-type='method'><a href="ParticleEmitter.html#render">render</a></li><li data-type='method'><a href="ParticleEmitter.html#setCollision">setCollision</a></li><li data-type='method'><a href="ParticleEmitter.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4102019><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=3455641><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#addChild">addChild</a></li><li data-type='method'><a href="TileLayer.html#applyAcceleration">applyAcceleration</a></li><li data-type='method'><a href="TileLayer.html#applyForce">applyForce</a></li><li data-type='method'><a href="TileLayer.html#collideWithObject">collideWithObject</a></li><li data-type='method'><a href="TileLayer.html#collideWithTile">collideWithTile</a></li><li data-type='method'><a href="TileLayer.html#collideWithTileRaycast">collideWithTileRaycast</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#getAliveTime">getAliveTime</a></li><li data-type='method'><a href="TileLayer.html#getData">getData</a></li><li data-type='method'><a href="TileLayer.html#getMirrorSign">getMirrorSign</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#removeChild">removeChild</a></li><li data-type='method'><a href="TileLayer.html#render">render</a></li><li data-type='method'><a href="TileLayer.html#setCollision">setCollision</a></li><li data-type='method'><a href="TileLayer.html#setData">setData</a></li><li data-type='method'><a href="TileLayer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1570904><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=3515045><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=7852068><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="813939" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2717358><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=8015982><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=3886530><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=2344392><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=4725200><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=7676165><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=2840044><div class="accordion-heading child"><a href="TileCollision.html">TileCollision</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="TileCollision.html#.getTileCollisionData">getTileCollisionData</a></li><li data-type='method'><a href="TileCollision.html#.initTileCollision">initTileCollision</a></li><li data-type='method'><a href="TileCollision.html#.setTileCollisionData">setTileCollisionData</a></li><li data-type='method'><a href="TileCollision.html#.tileCollisionRaycast">tileCollisionRaycast</a></li><li data-type='method'><a href="TileCollision.html#.tileCollisionTest">tileCollisionTest</a></li></ul></li><li class="accordion collapsed child" id=6238309><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=6305592><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#.glDraw">glDraw</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="9475387" > <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>
93
+
94
+
95
+ </nav>
96
+ <div class="navbar-ham" id="navbar-ham">
97
+ <div>
98
+ <div class="first"></div>
99
+ <div class="second"></div>
100
+ <div class="third"></div>
101
+ </div>
102
+ </div>
103
+
104
+ <div id="main" class="main-content">
105
+
106
+ <h1 id='page-title' class="page-title">
107
+ engineTileLayer.js
108
+ </h1>
109
+
110
+
111
+
112
+
113
+
114
+
115
+
116
+ <section>
117
+ <article>
118
+ <pre class="prettyprint source linenums"><code>/**
119
+ * LittleJS Tile Layer System
120
+ * &lt;br> - Caches arrays of tiles to offscreen canvas for fast rendering
121
+ * &lt;br> - Unlimted numbers of layers, allocates canvases as needed
122
+ * &lt;br> - Interfaces with EngineObject for collision
123
+ * &lt;br> - Collision layer is separate from visible layers
124
+ * &lt;br> - Tile layers can be drawn to using their context with canvas2d
125
+ * &lt;br> - It is recommended to have a visible layer that matches the collision
126
+ * @namespace TileCollision
127
+ */
128
+
129
+ 'use strict';
130
+
131
+ /** The tile collision layer array, use setTileCollisionData and getTileCollisionData to access
132
+ * @memberof TileCollision */
133
+ let tileCollision = [];
134
+
135
+ /** Size of the tile collision layer
136
+ * @type {Vector2}
137
+ * @memberof TileCollision */
138
+ let tileCollisionSize = vec2();
139
+
140
+ /** Clear and initialize tile collision
141
+ * @param {Vector2} size
142
+ * @memberof TileCollision */
143
+ function initTileCollision(size)
144
+ {
145
+ tileCollisionSize = size;
146
+ tileCollision = [];
147
+ for (let i=tileCollision.length = tileCollisionSize.area(); i--;)
148
+ tileCollision[i] = 0;
149
+ }
150
+
151
+ /** Set tile collision data
152
+ * @param {Vector2} pos
153
+ * @param {Number} [data=0]
154
+ * @memberof TileCollision */
155
+ const setTileCollisionData = (pos, data=0)=>
156
+ pos.arrayCheck(tileCollisionSize) &amp;&amp; (tileCollision[(pos.y|0)*tileCollisionSize.x+pos.x|0] = data);
157
+
158
+ /** Get tile collision data
159
+ * @param {Vector2} pos
160
+ * @return {Number}
161
+ * @memberof TileCollision */
162
+ const getTileCollisionData = (pos)=>
163
+ pos.arrayCheck(tileCollisionSize) ? tileCollision[(pos.y|0)*tileCollisionSize.x+pos.x|0] : 0;
164
+
165
+ /** Check if collision with another object should occur
166
+ * @param {Vector2} pos
167
+ * @param {Vector2} [size=new Vector2(1,1)]
168
+ * @param {EngineObject} [object]
169
+ * @return {Boolean}
170
+ * @memberof TileCollision */
171
+ function tileCollisionTest(pos, size=vec2(), object)
172
+ {
173
+ const minX = max(Math.floor(pos.x - size.x/2), 0);
174
+ const minY = max(Math.floor(pos.y - size.y/2), 0);
175
+ const maxX = min(pos.x + size.x/2, tileCollisionSize.x-1);
176
+ const maxY = min(pos.y + size.y/2, tileCollisionSize.y-1);
177
+ for (let y = minY; y &lt; maxY; ++y)
178
+ for (let x = minX; x &lt; maxX; ++x)
179
+ {
180
+ const tileData = tileCollision[y*tileCollisionSize.x+x];
181
+ if (tileData &amp;&amp; (!object || object.collideWithTile(tileData, new Vector2(x, y))))
182
+ return 1;
183
+ }
184
+ }
185
+
186
+ /** Return the center of tile if any that is hit (this does not return the exact hit point)
187
+ * @param {Vector2} posStart
188
+ * @param {Vector2} posEnd
189
+ * @param {EngineObject} [object]
190
+ * @return {Vector2}
191
+ * @memberof TileCollision */
192
+ function tileCollisionRaycast(posStart, posEnd, object)
193
+ {
194
+ // test if a ray collides with tiles from start to end
195
+ // todo: a way to get the exact hit point, it must still register as inside the hit tile
196
+ posStart = posStart.floor();
197
+ posEnd = posEnd.floor();
198
+ const posDelta = posEnd.subtract(posStart);
199
+ const dx = abs(posDelta.x), dy = -abs(posDelta.y);
200
+ const sx = sign(posDelta.x), sy = sign(posDelta.y);
201
+ let e = dx + dy;
202
+
203
+ for (let x = posStart.x, y = posStart.y;;)
204
+ {
205
+ const tileData = getTileCollisionData(vec2(x,y));
206
+ if (tileData &amp;&amp; (object ? object.collideWithTileRaycast(tileData, new Vector2(x, y)) : tileData > 0))
207
+ {
208
+ debugRaycast &amp;&amp; debugLine(posStart, posEnd, '#f00',.02, 1);
209
+ debugRaycast &amp;&amp; debugPoint(new Vector2(x+.5, y+.5), '#ff0', 1);
210
+ return new Vector2(x+.5, y+.5);
211
+ }
212
+
213
+ // update Bresenham line drawing algorithm
214
+ if (x == posEnd.x &amp; y == posEnd.y) break;
215
+ const e2 = 2*e;
216
+ if (e2 >= dy) e += dy, x += sx;
217
+ if (e2 &lt;= dx) e += dx, y += sy;
218
+ }
219
+ debugRaycast &amp;&amp; debugLine(posStart, posEnd, '#00f',.02, 1);
220
+ }
221
+
222
+ ///////////////////////////////////////////////////////////////////////////////
223
+ // Tile Layer Rendering System
224
+
225
+ // Reuse canvas autmatically when destroyed
226
+ const tileLayerCanvasCache = [];
227
+
228
+ /**
229
+ * Tile layer data object stores info about how to render a tile
230
+ * @example
231
+ * // create tile layer data with tile index 0 and random orientation and color
232
+ * const tileIndex = 0;
233
+ * const direction = randInt(4)
234
+ * const mirror = randInt(2);
235
+ * const color = randColor();
236
+ * const data = new TileLayerData(tileIndex, direction, mirror, color);
237
+ */
238
+ class TileLayerData
239
+ {
240
+ /** Create a tile layer data object, one for each tile in a TileLayer
241
+ * @param {Number} [tile] - The tile to use, untextured if undefined
242
+ * @param {Number} [direction=0] - Integer direction of tile, in 90 degree increments
243
+ * @param {Boolean} [mirror=0] - If the tile should be mirrored along the x axis
244
+ * @param {Color} [color=new Color(1,1,1)] - Color of the tile */
245
+ constructor(tile, direction=0, mirror=0, color=new Color)
246
+ {
247
+ /** @property {Number} - The tile to use, untextured if undefined */
248
+ this.tile = tile;
249
+ /** @property {Number} - Integer direction of tile, in 90 degree increments */
250
+ this.direction = direction;
251
+ /** @property {Boolean} - If the tile should be mirrored along the x axis */
252
+ this.mirror = mirror;
253
+ /** @property {Color} - Color of the tile */
254
+ this.color = color;
255
+ }
256
+
257
+ /** Set this tile to clear, it will not be rendered */
258
+ clear() { this.tile = this.direction = this.mirror = 0; color = new Color; }
259
+ }
260
+
261
+ /**
262
+ * Tile layer object - cached rendering system for tile layers
263
+ * &lt;br> - Each Tile layer is rendered to an off screen canvas
264
+ * &lt;br> - Tile layers are not rendered using WebGL to allow modifications at run time
265
+ * &lt;br> - Tile layers are sorted
266
+ * @extends EngineObject
267
+ * @example
268
+ * // create tile collision and visible tile layer
269
+ * initTileCollision(vec2(200,100));
270
+ * const tileLayer = new TileLayer();
271
+ */
272
+ class TileLayer extends EngineObject
273
+ {
274
+ /** Create a tile layer object
275
+ * @param {Vector2} [position=new Vector2(0,0)] - World space position
276
+ * @param {Vector2} [size=objectDefaultSize] - World space size
277
+ * @param {Vector2} [tileSize=tileSizeDefault] - Size of tiles in source pixels
278
+ * @param {Vector2} [scale=new Vector2(1,1)] - How much to scale this layer when rendered
279
+ * @param {Number} [renderOrder=0] - Objects sorted by renderOrder before being rendered
280
+ */
281
+ constructor(pos, size=tileCollisionSize, tileSize=tileSizeDefault, scale=vec2(1), renderOrder=0)
282
+ {
283
+ super(pos, size, -1, tileSize, 0, undefined, renderOrder);
284
+
285
+ /** @property {HTMLCanvasElement} - The canvas used by this tile layer */
286
+ this.canvas = tileLayerCanvasCache.length ? tileLayerCanvasCache.pop() : document.createElement('canvas');
287
+ /** @property {CanvasRenderingContext2D} - The 2D canvas context used by this tile layer */
288
+ this.context = this.canvas.getContext('2d');
289
+ /** @property {Vector2} - How much to scale this layer when rendered */
290
+ this.scale = scale;
291
+ /** @property {Boolean} [isOverlay=0] - If true this layer will render to overlay canvas and appear above all objects */
292
+ this.isOverlay;
293
+
294
+ // init tile data
295
+ this.data = [];
296
+ for (let j = this.size.area(); j--;)
297
+ this.data.push(new TileLayerData());
298
+ }
299
+
300
+ /** Destroy this tile layer */
301
+ destroy()
302
+ {
303
+ // add canvas back to the cache
304
+ tileLayerCanvasCache.push(this.canvas);
305
+ super.destroy();
306
+ }
307
+
308
+ /** Set data at a given position in the array
309
+ * @param {Vector2} position - Local position in array
310
+ * @param {TileLayerData} data - Data to set
311
+ * @param {Boolean} [redraw=0] - Force the tile to redraw if true */
312
+ setData(layerPos, data, redraw)
313
+ {
314
+ if (layerPos.arrayCheck(this.size))
315
+ {
316
+ this.data[(layerPos.y|0)*this.size.x+layerPos.x|0] = data;
317
+ redraw &amp;&amp; this.drawTileData(layerPos);
318
+ }
319
+ }
320
+
321
+ /** Get data at a given position in the array
322
+ * @param {Vector2} layerPos - Local position in array
323
+ * @return {TileLayerData} */
324
+ getData(layerPos)
325
+ { return layerPos.arrayCheck(this.size) &amp;&amp; this.data[(layerPos.y|0)*this.size.x+layerPos.x|0]; }
326
+
327
+ // Tile layers are not updated
328
+ update() {}
329
+
330
+ // Render the tile layer, called automatically by the engine
331
+ render()
332
+ {
333
+ ASSERT(mainContext != this.context); // must call redrawEnd() after drawing tiles
334
+
335
+ // flush and copy gl canvas because tile canvas does not use webgl
336
+ glEnable &amp;&amp; !glOverlay &amp;&amp; !this.isOverlay &amp;&amp; glCopyToContext(mainContext);
337
+
338
+ // draw the entire cached level onto the main canvas
339
+ const pos = worldToScreen(this.pos.add(vec2(0,this.size.y*this.scale.y)));
340
+ (this.isOverlay ? overlayContext : mainContext).drawImage
341
+ (
342
+ this.canvas, pos.x, pos.y,
343
+ cameraScale*this.size.x*this.scale.x, cameraScale*this.size.y*this.scale.y
344
+ );
345
+ }
346
+
347
+ /** Draw all the tile data to an offscreen canvas using webgl if possible */
348
+ redraw()
349
+ {
350
+ this.redrawStart();
351
+ this.drawAllTileData();
352
+ this.redrawEnd();
353
+ }
354
+
355
+ /** Call to start the redraw process
356
+ * @param {Boolean} [clear=1] - Should it clear the canvas before drawing */
357
+ redrawStart(clear = 1)
358
+ {
359
+ // clear and set size
360
+ const width = this.size.x * this.tileSize.x;
361
+ const height = this.size.y * this.tileSize.y;
362
+ if (clear)
363
+ {
364
+ this.canvas.width = width;
365
+ this.canvas.height = height;
366
+ }
367
+
368
+ // save current render settings
369
+ this.savedRenderSettings = [mainCanvasSize, mainCanvas, mainContext, cameraScale, cameraPos];
370
+
371
+ // set camera transform for renering
372
+ cameraScale = this.tileSize.x;
373
+ cameraPos = this.size.scale(.5);
374
+ mainCanvas = this.canvas;
375
+ mainContext = this.context;
376
+ mainContext.imageSmoothingEnabled = !pixelated; // disable smoothing for pixel art
377
+ mainCanvasSize = vec2(width, height);
378
+ glPreRender(width, height);
379
+ }
380
+
381
+ /** Call to end the redraw process */
382
+ redrawEnd()
383
+ {
384
+ ASSERT(mainContext == this.context); // must call redrawStart() before drawing tiles
385
+ glCopyToContext(mainContext, 1);
386
+ //debugSaveCanvas(this.canvas);
387
+
388
+ // set stuff back to normal
389
+ [mainCanvasSize, mainCanvas, mainContext, cameraScale, cameraPos] = this.savedRenderSettings;
390
+ }
391
+
392
+ /** Draw the tile at a given position
393
+ * @param {Vector2} layerPos */
394
+ drawTileData(layerPos)
395
+ {
396
+ // first clear out where the tile was
397
+ const pos = layerPos.floor().add(this.pos).add(vec2(.5));
398
+ this.drawCanvas2D(pos, vec2(1), 0, 0, (context)=>context.clearRect(-.5, -.5, 1, 1));
399
+
400
+ // draw the tile if not undefined
401
+ const d = this.getData(layerPos);
402
+ if (d.tile != undefined)
403
+ {
404
+ ASSERT(mainContext == this.context); // must call redrawStart() before drawing tiles
405
+ drawTile(pos, vec2(1), d.tile, this.tileSize, d.color, d.direction*PI/2, d.mirror);
406
+ }
407
+ }
408
+
409
+ /** Draw all the tiles in this layer */
410
+ drawAllTileData()
411
+ {
412
+ for (let x = this.size.x; x--;)
413
+ for (let y = this.size.y; y--;)
414
+ this.drawTileData(vec2(x,y));
415
+ }
416
+
417
+ /** Draw directly to the 2d canvas in world space (bipass webgl)
418
+ * @param {Vector2} pos
419
+ * @param {Vector2} size
420
+ * @param {Number} angle
421
+ * @param {Boolean} mirror
422
+ * @param {Function} drawFunction */
423
+ drawCanvas2D(pos, size, angle, mirror, drawFunction)
424
+ {
425
+ const context = this.context;
426
+ context.save();
427
+ pos = pos.subtract(this.pos).multiply(this.tileSize);
428
+ size = size.multiply(this.tileSize);
429
+ context.translate(pos.x, this.canvas.height - pos.y);
430
+ context.rotate(angle);
431
+ context.scale(mirror?-size.x:size.x, size.y);
432
+ drawFunction(context);
433
+ context.restore();
434
+ }
435
+
436
+ /** Draw a tile directly onto the layer canvas
437
+ * @param {Vector2} pos
438
+ * @param {Vector2} [size=new Vector2(1,1)]
439
+ * @param {Number} [tileIndex=-1]
440
+ * @param {Vector2} [tileSize=tileSizeDefault]
441
+ * @param {Color} [color=new Color(1,1,1)]
442
+ * @param {Number} [angle=0]
443
+ * @param {Boolean} [mirror=0] */
444
+ drawTile(pos, size=vec2(1), tileIndex=-1, tileSize=tileSizeDefault, color=new Color, angle=0, mirror)
445
+ {
446
+ this.drawCanvas2D(pos, size, angle, mirror, (context)=>
447
+ {
448
+ if (tileIndex &lt; 0)
449
+ {
450
+ // untextured
451
+ context.fillStyle = color.rgba();
452
+ context.fillRect(-.5, -.5, 1, 1);
453
+ }
454
+ else
455
+ {
456
+ const cols = tileImage.width/tileSize.x;
457
+ context.globalAlpha = color.a; // full color not supported in this mode
458
+ context.drawImage(tileImage,
459
+ (tileIndex%cols)*tileSize.x, (tileIndex/cols|0)*tileSize.x,
460
+ tileSize.x, tileSize.y, -.5, -.5, 1, 1);
461
+ }
462
+ });
463
+ }
464
+
465
+ /** Draw a rectangle directly onto the layer canvas
466
+ * @param {Vector2} pos
467
+ * @param {Vector2} [size=new Vector2(1,1)]
468
+ * @param {Color} [color=new Color(1,1,1)]
469
+ * @param {Number} [angle=0] */
470
+ drawRect(pos, size, color, angle) { this.drawTile(pos, size, -1, 0, color, angle, 0); }
471
+ }</code></pre>
472
+ </article>
473
+ </section>
474
+
475
+
476
+
477
+
478
+ </div>
479
+
480
+ <footer class="footer" id="footer">
481
+ <a href=https://github.com/KilledByAPixel/LittleJS>LittleJS - MIT License - Copyright 2021 Frank Force</a>
482
+ </footer>
483
+
484
+ <script src="scripts/third-party/prettify.js"></script>
485
+ <script src="scripts/third-party/lang-css.js"></script>
486
+ <script type="text/javascript" src="scripts/misc.js"></script>
487
+
488
+ <script>prettyPrint();</script>
489
+ <script src="scripts/linenumber.js"></script>
490
+ <script src="scripts/fix-code-block.js"></script>
491
+ <script src="scripts/fix-navbar.js"></script>
492
+
493
+ <script src="scripts/search.js"></script>
494
+ <script src="scripts/third-party/fuse.js"></script>
495
+ <script>
496
+ var list = [{"title":"Color","link":"<a href=\"Color.html\">Color</a>"},{"title":"Color#add","link":"<a href=\"Color.html#add\">Color &rtrif; add</a>"},{"title":"Color#clamp","link":"<a href=\"Color.html#clamp\">Color &rtrif; clamp</a>"},{"title":"Color#copy","link":"<a href=\"Color.html#copy\">Color &rtrif; copy</a>"},{"title":"Color#divide","link":"<a href=\"Color.html#divide\">Color &rtrif; divide</a>"},{"title":"Color#lerp","link":"<a href=\"Color.html#lerp\">Color &rtrif; lerp</a>"},{"title":"Color#multiply","link":"<a href=\"Color.html#multiply\">Color &rtrif; multiply</a>"},{"title":"Color#mutate","link":"<a href=\"Color.html#mutate\">Color &rtrif; mutate</a>"},{"title":"Color#rgba","link":"<a href=\"Color.html#rgba\">Color &rtrif; rgba</a>"},{"title":"Color#rgbaInt","link":"<a href=\"Color.html#rgbaInt\">Color &rtrif; rgbaInt</a>"},{"title":"Color#scale","link":"<a href=\"Color.html#scale\">Color &rtrif; scale</a>"},{"title":"Color#setHSLA","link":"<a href=\"Color.html#setHSLA\">Color &rtrif; setHSLA</a>"},{"title":"Color#subtract","link":"<a href=\"Color.html#subtract\">Color &rtrif; subtract</a>"},{"title":"EngineObject","link":"<a href=\"EngineObject.html\">EngineObject</a>"},{"title":"EngineObject#addChild","link":"<a href=\"EngineObject.html#addChild\">EngineObject &rtrif; addChild</a>"},{"title":"EngineObject#applyAcceleration","link":"<a href=\"EngineObject.html#applyAcceleration\">EngineObject &rtrif; applyAcceleration</a>"},{"title":"EngineObject#applyForce","link":"<a href=\"EngineObject.html#applyForce\">EngineObject &rtrif; applyForce</a>"},{"title":"EngineObject#collideWithObject","link":"<a href=\"EngineObject.html#collideWithObject\">EngineObject &rtrif; collideWithObject</a>"},{"title":"EngineObject#collideWithTile","link":"<a href=\"EngineObject.html#collideWithTile\">EngineObject &rtrif; collideWithTile</a>"},{"title":"EngineObject#collideWithTileRaycast","link":"<a href=\"EngineObject.html#collideWithTileRaycast\">EngineObject &rtrif; collideWithTileRaycast</a>"},{"title":"EngineObject#destroy","link":"<a href=\"EngineObject.html#destroy\">EngineObject &rtrif; destroy</a>"},{"title":"EngineObject#getAliveTime","link":"<a href=\"EngineObject.html#getAliveTime\">EngineObject &rtrif; getAliveTime</a>"},{"title":"EngineObject#getMirrorSign","link":"<a href=\"EngineObject.html#getMirrorSign\">EngineObject &rtrif; getMirrorSign</a>"},{"title":"EngineObject#removeChild","link":"<a href=\"EngineObject.html#removeChild\">EngineObject &rtrif; removeChild</a>"},{"title":"EngineObject#render","link":"<a href=\"EngineObject.html#render\">EngineObject &rtrif; render</a>"},{"title":"EngineObject#setCollision","link":"<a href=\"EngineObject.html#setCollision\">EngineObject &rtrif; setCollision</a>"},{"title":"EngineObject#update","link":"<a href=\"EngineObject.html#update\">EngineObject &rtrif; update</a>"},{"title":"Medal","link":"<a href=\"Medal.html\">Medal</a>"},{"title":"Medal#render","link":"<a href=\"Medal.html#render\">Medal &rtrif; render</a>"},{"title":"Medal#renderIcon","link":"<a href=\"Medal.html#renderIcon\">Medal &rtrif; renderIcon</a>"},{"title":"Medal#unlock","link":"<a href=\"Medal.html#unlock\">Medal &rtrif; unlock</a>"},{"title":"Music","link":"<a href=\"Music.html\">Music</a>"},{"title":"Music#play","link":"<a href=\"Music.html#play\">Music &rtrif; play</a>"},{"title":"Newgrounds","link":"<a href=\"Newgrounds.html\">Newgrounds</a>"},{"title":"Newgrounds#call","link":"<a href=\"Newgrounds.html#call\">Newgrounds &rtrif; call</a>"},{"title":"Newgrounds#getScores","link":"<a href=\"Newgrounds.html#getScores\">Newgrounds &rtrif; getScores</a>"},{"title":"Newgrounds#logView","link":"<a href=\"Newgrounds.html#logView\">Newgrounds &rtrif; logView</a>"},{"title":"Newgrounds#postScore","link":"<a href=\"Newgrounds.html#postScore\">Newgrounds &rtrif; postScore</a>"},{"title":"Newgrounds#unlockMedal","link":"<a href=\"Newgrounds.html#unlockMedal\">Newgrounds &rtrif; unlockMedal</a>"},{"title":"Particle","link":"<a href=\"Particle.html\">Particle</a>"},{"title":"Particle#addChild","link":"<a href=\"Particle.html#addChild\">Particle &rtrif; addChild</a>"},{"title":"Particle#applyAcceleration","link":"<a href=\"Particle.html#applyAcceleration\">Particle &rtrif; applyAcceleration</a>"},{"title":"Particle#applyForce","link":"<a href=\"Particle.html#applyForce\">Particle &rtrif; applyForce</a>"},{"title":"Particle#collideWithObject","link":"<a href=\"Particle.html#collideWithObject\">Particle &rtrif; collideWithObject</a>"},{"title":"Particle#collideWithTile","link":"<a href=\"Particle.html#collideWithTile\">Particle &rtrif; collideWithTile</a>"},{"title":"Particle#collideWithTileRaycast","link":"<a href=\"Particle.html#collideWithTileRaycast\">Particle &rtrif; collideWithTileRaycast</a>"},{"title":"Particle#destroy","link":"<a href=\"Particle.html#destroy\">Particle &rtrif; destroy</a>"},{"title":"Particle#getAliveTime","link":"<a href=\"Particle.html#getAliveTime\">Particle &rtrif; getAliveTime</a>"},{"title":"Particle#getMirrorSign","link":"<a href=\"Particle.html#getMirrorSign\">Particle &rtrif; getMirrorSign</a>"},{"title":"Particle#removeChild","link":"<a href=\"Particle.html#removeChild\">Particle &rtrif; removeChild</a>"},{"title":"Particle#render","link":"<a href=\"Particle.html#render\">Particle &rtrif; render</a>"},{"title":"Particle#setCollision","link":"<a href=\"Particle.html#setCollision\">Particle &rtrif; setCollision</a>"},{"title":"Particle#update","link":"<a href=\"Particle.html#update\">Particle &rtrif; update</a>"},{"title":"ParticleEmitter","link":"<a href=\"ParticleEmitter.html\">ParticleEmitter</a>"},{"title":"ParticleEmitter#addChild","link":"<a href=\"ParticleEmitter.html#addChild\">ParticleEmitter &rtrif; addChild</a>"},{"title":"ParticleEmitter#applyAcceleration","link":"<a href=\"ParticleEmitter.html#applyAcceleration\">ParticleEmitter &rtrif; applyAcceleration</a>"},{"title":"ParticleEmitter#applyForce","link":"<a href=\"ParticleEmitter.html#applyForce\">ParticleEmitter &rtrif; applyForce</a>"},{"title":"ParticleEmitter#collideWithObject","link":"<a href=\"ParticleEmitter.html#collideWithObject\">ParticleEmitter &rtrif; collideWithObject</a>"},{"title":"ParticleEmitter#collideWithTile","link":"<a href=\"ParticleEmitter.html#collideWithTile\">ParticleEmitter &rtrif; collideWithTile</a>"},{"title":"ParticleEmitter#collideWithTileRaycast","link":"<a href=\"ParticleEmitter.html#collideWithTileRaycast\">ParticleEmitter &rtrif; collideWithTileRaycast</a>"},{"title":"ParticleEmitter#destroy","link":"<a href=\"ParticleEmitter.html#destroy\">ParticleEmitter &rtrif; destroy</a>"},{"title":"ParticleEmitter#emitParticle","link":"<a href=\"ParticleEmitter.html#emitParticle\">ParticleEmitter &rtrif; emitParticle</a>"},{"title":"ParticleEmitter#getAliveTime","link":"<a href=\"ParticleEmitter.html#getAliveTime\">ParticleEmitter &rtrif; getAliveTime</a>"},{"title":"ParticleEmitter#getMirrorSign","link":"<a href=\"ParticleEmitter.html#getMirrorSign\">ParticleEmitter &rtrif; getMirrorSign</a>"},{"title":"ParticleEmitter#removeChild","link":"<a href=\"ParticleEmitter.html#removeChild\">ParticleEmitter &rtrif; removeChild</a>"},{"title":"ParticleEmitter#render","link":"<a href=\"ParticleEmitter.html#render\">ParticleEmitter &rtrif; render</a>"},{"title":"ParticleEmitter#setCollision","link":"<a href=\"ParticleEmitter.html#setCollision\">ParticleEmitter &rtrif; setCollision</a>"},{"title":"ParticleEmitter#update","link":"<a href=\"ParticleEmitter.html#update\">ParticleEmitter &rtrif; update</a>"},{"title":"Sound","link":"<a href=\"Sound.html\">Sound</a>"},{"title":"Sound#play","link":"<a href=\"Sound.html#play\">Sound &rtrif; play</a>"},{"title":"Sound#playNote","link":"<a href=\"Sound.html#playNote\">Sound &rtrif; playNote</a>"},{"title":"TileLayer","link":"<a href=\"TileLayer.html\">TileLayer</a>"},{"title":"TileLayer#addChild","link":"<a href=\"TileLayer.html#addChild\">TileLayer &rtrif; addChild</a>"},{"title":"TileLayer#applyAcceleration","link":"<a href=\"TileLayer.html#applyAcceleration\">TileLayer &rtrif; applyAcceleration</a>"},{"title":"TileLayer#applyForce","link":"<a href=\"TileLayer.html#applyForce\">TileLayer &rtrif; applyForce</a>"},{"title":"TileLayer#collideWithObject","link":"<a href=\"TileLayer.html#collideWithObject\">TileLayer &rtrif; collideWithObject</a>"},{"title":"TileLayer#collideWithTile","link":"<a href=\"TileLayer.html#collideWithTile\">TileLayer &rtrif; collideWithTile</a>"},{"title":"TileLayer#collideWithTileRaycast","link":"<a href=\"TileLayer.html#collideWithTileRaycast\">TileLayer &rtrif; collideWithTileRaycast</a>"},{"title":"TileLayer#destroy","link":"<a href=\"TileLayer.html#destroy\">TileLayer &rtrif; destroy</a>"},{"title":"TileLayer#drawAllTileData","link":"<a href=\"TileLayer.html#drawAllTileData\">TileLayer &rtrif; drawAllTileData</a>"},{"title":"TileLayer#drawCanvas2D","link":"<a href=\"TileLayer.html#drawCanvas2D\">TileLayer &rtrif; drawCanvas2D</a>"},{"title":"TileLayer#drawRect","link":"<a href=\"TileLayer.html#drawRect\">TileLayer &rtrif; drawRect</a>"},{"title":"TileLayer#drawTile","link":"<a href=\"TileLayer.html#drawTile\">TileLayer &rtrif; drawTile</a>"},{"title":"TileLayer#drawTileData","link":"<a href=\"TileLayer.html#drawTileData\">TileLayer &rtrif; drawTileData</a>"},{"title":"TileLayer#getAliveTime","link":"<a href=\"TileLayer.html#getAliveTime\">TileLayer &rtrif; getAliveTime</a>"},{"title":"TileLayer#getData","link":"<a href=\"TileLayer.html#getData\">TileLayer &rtrif; getData</a>"},{"title":"TileLayer#getMirrorSign","link":"<a href=\"TileLayer.html#getMirrorSign\">TileLayer &rtrif; getMirrorSign</a>"},{"title":"TileLayer#redraw","link":"<a href=\"TileLayer.html#redraw\">TileLayer &rtrif; redraw</a>"},{"title":"TileLayer#redrawEnd","link":"<a href=\"TileLayer.html#redrawEnd\">TileLayer &rtrif; redrawEnd</a>"},{"title":"TileLayer#redrawStart","link":"<a href=\"TileLayer.html#redrawStart\">TileLayer &rtrif; redrawStart</a>"},{"title":"TileLayer#removeChild","link":"<a href=\"TileLayer.html#removeChild\">TileLayer &rtrif; removeChild</a>"},{"title":"TileLayer#render","link":"<a href=\"TileLayer.html#render\">TileLayer &rtrif; render</a>"},{"title":"TileLayer#setCollision","link":"<a href=\"TileLayer.html#setCollision\">TileLayer &rtrif; setCollision</a>"},{"title":"TileLayer#setData","link":"<a href=\"TileLayer.html#setData\">TileLayer &rtrif; setData</a>"},{"title":"TileLayer#update","link":"<a href=\"TileLayer.html#update\">TileLayer &rtrif; update</a>"},{"title":"TileLayerData","link":"<a href=\"TileLayerData.html\">TileLayerData</a>"},{"title":"TileLayerData#clear","link":"<a href=\"TileLayerData.html#clear\">TileLayerData &rtrif; clear</a>"},{"title":"Timer","link":"<a href=\"Timer.html\">Timer</a>"},{"title":"Timer#active","link":"<a href=\"Timer.html#active\">Timer &rtrif; active</a>"},{"title":"Timer#elapsed","link":"<a href=\"Timer.html#elapsed\">Timer &rtrif; elapsed</a>"},{"title":"Timer#get","link":"<a href=\"Timer.html#get\">Timer &rtrif; get</a>"},{"title":"Timer#getPercent","link":"<a href=\"Timer.html#getPercent\">Timer &rtrif; getPercent</a>"},{"title":"Timer#isSet","link":"<a href=\"Timer.html#isSet\">Timer &rtrif; isSet</a>"},{"title":"Timer#set","link":"<a href=\"Timer.html#set\">Timer &rtrif; set</a>"},{"title":"Timer#unset","link":"<a href=\"Timer.html#unset\">Timer &rtrif; unset</a>"},{"title":"Vector2","link":"<a href=\"Vector2.html\">Vector2</a>"},{"title":"Vector2#add","link":"<a href=\"Vector2.html#add\">Vector2 &rtrif; add</a>"},{"title":"Vector2#angle","link":"<a href=\"Vector2.html#angle\">Vector2 &rtrif; angle</a>"},{"title":"Vector2#area","link":"<a href=\"Vector2.html#area\">Vector2 &rtrif; area</a>"},{"title":"Vector2#arrayCheck","link":"<a href=\"Vector2.html#arrayCheck\">Vector2 &rtrif; arrayCheck</a>"},{"title":"Vector2#clampLength","link":"<a href=\"Vector2.html#clampLength\">Vector2 &rtrif; clampLength</a>"},{"title":"Vector2#copy","link":"<a href=\"Vector2.html#copy\">Vector2 &rtrif; copy</a>"},{"title":"Vector2#cross","link":"<a href=\"Vector2.html#cross\">Vector2 &rtrif; cross</a>"},{"title":"Vector2#direction","link":"<a href=\"Vector2.html#direction\">Vector2 &rtrif; direction</a>"},{"title":"Vector2#distance","link":"<a href=\"Vector2.html#distance\">Vector2 &rtrif; distance</a>"},{"title":"Vector2#distanceSquared","link":"<a href=\"Vector2.html#distanceSquared\">Vector2 &rtrif; distanceSquared</a>"},{"title":"Vector2#divide","link":"<a href=\"Vector2.html#divide\">Vector2 &rtrif; divide</a>"},{"title":"Vector2#dot","link":"<a href=\"Vector2.html#dot\">Vector2 &rtrif; dot</a>"},{"title":"Vector2#flip","link":"<a href=\"Vector2.html#flip\">Vector2 &rtrif; flip</a>"},{"title":"Vector2#floor","link":"<a href=\"Vector2.html#floor\">Vector2 &rtrif; floor</a>"},{"title":"Vector2#invert","link":"<a href=\"Vector2.html#invert\">Vector2 &rtrif; invert</a>"},{"title":"Vector2#length","link":"<a href=\"Vector2.html#length\">Vector2 &rtrif; length</a>"},{"title":"Vector2#lengthSquared","link":"<a href=\"Vector2.html#lengthSquared\">Vector2 &rtrif; lengthSquared</a>"},{"title":"Vector2#lerp","link":"<a href=\"Vector2.html#lerp\">Vector2 &rtrif; lerp</a>"},{"title":"Vector2#multiply","link":"<a href=\"Vector2.html#multiply\">Vector2 &rtrif; multiply</a>"},{"title":"Vector2#normalize","link":"<a href=\"Vector2.html#normalize\">Vector2 &rtrif; normalize</a>"},{"title":"Vector2#rotate","link":"<a href=\"Vector2.html#rotate\">Vector2 &rtrif; rotate</a>"},{"title":"Vector2#scale","link":"<a href=\"Vector2.html#scale\">Vector2 &rtrif; scale</a>"},{"title":"Vector2#setAngle","link":"<a href=\"Vector2.html#setAngle\">Vector2 &rtrif; setAngle</a>"},{"title":"Vector2#subtract","link":"<a href=\"Vector2.html#subtract\">Vector2 &rtrif; subtract</a>"},{"title":"Audio","link":"<a href=\"Audio.html\">Audio</a>"},{"title":"Audio.getNoteFrequency","link":"<a href=\"Audio.html#.getNoteFrequency\">Audio.getNoteFrequency &rtrif; undefined</a>"},{"title":"Audio.playAudioFile","link":"<a href=\"Audio.html#.playAudioFile\">Audio.playAudioFile &rtrif; undefined</a>"},{"title":"Audio.playSamples","link":"<a href=\"Audio.html#.playSamples\">Audio.playSamples &rtrif; undefined</a>"},{"title":"Audio.speak","link":"<a href=\"Audio.html#.speak\">Audio.speak &rtrif; undefined</a>"},{"title":"Audio.stopSpeech","link":"<a href=\"Audio.html#.stopSpeech\">Audio.stopSpeech &rtrif; undefined</a>"},{"title":"Audio.zzfx","link":"<a href=\"Audio.html#.zzfx\">Audio.zzfx &rtrif; undefined</a>"},{"title":"Audio.zzfxG","link":"<a href=\"Audio.html#.zzfxG\">Audio.zzfxG &rtrif; undefined</a>"},{"title":"Audio.zzfxM","link":"<a href=\"Audio.html#.zzfxM\">Audio.zzfxM &rtrif; undefined</a>"},{"title":"Debug","link":"<a href=\"Debug.html\">Debug</a>"},{"title":"Debug.debugAABB","link":"<a href=\"Debug.html#.debugAABB\">Debug.debugAABB &rtrif; undefined</a>"},{"title":"Debug.debugCircle","link":"<a href=\"Debug.html#.debugCircle\">Debug.debugCircle &rtrif; undefined</a>"},{"title":"Debug.debugClear","link":"<a href=\"Debug.html#.debugClear\">Debug.debugClear &rtrif; undefined</a>"},{"title":"Debug.debugLine","link":"<a href=\"Debug.html#.debugLine\">Debug.debugLine &rtrif; undefined</a>"},{"title":"Debug.debugPoint","link":"<a href=\"Debug.html#.debugPoint\">Debug.debugPoint &rtrif; undefined</a>"},{"title":"Debug.debugRect","link":"<a href=\"Debug.html#.debugRect\">Debug.debugRect &rtrif; undefined</a>"},{"title":"Debug.debugSaveCanvas","link":"<a href=\"Debug.html#.debugSaveCanvas\">Debug.debugSaveCanvas &rtrif; undefined</a>"},{"title":"Debug.debugText","link":"<a href=\"Debug.html#.debugText\">Debug.debugText &rtrif; undefined</a>"},{"title":"Draw","link":"<a href=\"Draw.html\">Draw</a>"},{"title":"Draw.drawCanvas2D","link":"<a href=\"Draw.html#.drawCanvas2D\">Draw.drawCanvas2D &rtrif; undefined</a>"},{"title":"Draw.drawLine","link":"<a href=\"Draw.html#.drawLine\">Draw.drawLine &rtrif; undefined</a>"},{"title":"Draw.drawRect","link":"<a href=\"Draw.html#.drawRect\">Draw.drawRect &rtrif; undefined</a>"},{"title":"Draw.drawRectScreenSpace","link":"<a href=\"Draw.html#.drawRectScreenSpace\">Draw.drawRectScreenSpace &rtrif; undefined</a>"},{"title":"Draw.drawText","link":"<a href=\"Draw.html#.drawText\">Draw.drawText &rtrif; undefined</a>"},{"title":"Draw.drawTile","link":"<a href=\"Draw.html#.drawTile\">Draw.drawTile &rtrif; undefined</a>"},{"title":"Draw.drawTileScreenSpace","link":"<a href=\"Draw.html#.drawTileScreenSpace\">Draw.drawTileScreenSpace &rtrif; undefined</a>"},{"title":"Draw.isFullscreen","link":"<a href=\"Draw.html#.isFullscreen\">Draw.isFullscreen &rtrif; undefined</a>"},{"title":"Draw.screenToWorld","link":"<a href=\"Draw.html#.screenToWorld\">Draw.screenToWorld &rtrif; undefined</a>"},{"title":"Draw.setBlendMode","link":"<a href=\"Draw.html#.setBlendMode\">Draw.setBlendMode &rtrif; undefined</a>"},{"title":"Draw.toggleFullscreen","link":"<a href=\"Draw.html#.toggleFullscreen\">Draw.toggleFullscreen &rtrif; undefined</a>"},{"title":"Draw.worldToScreen","link":"<a href=\"Draw.html#.worldToScreen\">Draw.worldToScreen &rtrif; undefined</a>"},{"title":"Input","link":"<a href=\"Input.html\">Input</a>"},{"title":"Input.clearInput","link":"<a href=\"Input.html#.clearInput\">Input.clearInput &rtrif; undefined</a>"},{"title":"Input.gamepadIsDown","link":"<a href=\"Input.html#.gamepadIsDown\">Input.gamepadIsDown &rtrif; undefined</a>"},{"title":"Input.gamepadStick","link":"<a href=\"Input.html#.gamepadStick\">Input.gamepadStick &rtrif; undefined</a>"},{"title":"Input.gamepadWasPressed","link":"<a href=\"Input.html#.gamepadWasPressed\">Input.gamepadWasPressed &rtrif; undefined</a>"},{"title":"Input.gamepadWasReleased","link":"<a href=\"Input.html#.gamepadWasReleased\">Input.gamepadWasReleased &rtrif; undefined</a>"},{"title":"Input.keyIsDown","link":"<a href=\"Input.html#.keyIsDown\">Input.keyIsDown &rtrif; undefined</a>"},{"title":"Input.keyWasPressed","link":"<a href=\"Input.html#.keyWasPressed\">Input.keyWasPressed &rtrif; undefined</a>"},{"title":"Input.keyWasReleased","link":"<a href=\"Input.html#.keyWasReleased\">Input.keyWasReleased &rtrif; undefined</a>"},{"title":"Medals","link":"<a href=\"Medals.html\">Medals</a>"},{"title":"Medals.medalsInit","link":"<a href=\"Medals.html#.medalsInit\">Medals.medalsInit &rtrif; undefined</a>"},{"title":"Random","link":"<a href=\"Random.html\">Random</a>"},{"title":"Random.rand","link":"<a href=\"Random.html#.rand\">Random.rand &rtrif; undefined</a>"},{"title":"Random.randColor","link":"<a href=\"Random.html#.randColor\">Random.randColor &rtrif; undefined</a>"},{"title":"Random.randInCircle","link":"<a href=\"Random.html#.randInCircle\">Random.randInCircle &rtrif; undefined</a>"},{"title":"Random.randInt","link":"<a href=\"Random.html#.randInt\">Random.randInt &rtrif; undefined</a>"},{"title":"Random.randSeeded","link":"<a href=\"Random.html#.randSeeded\">Random.randSeeded &rtrif; undefined</a>"},{"title":"Random.randSign","link":"<a href=\"Random.html#.randSign\">Random.randSign &rtrif; undefined</a>"},{"title":"Random.randVector","link":"<a href=\"Random.html#.randVector\">Random.randVector &rtrif; undefined</a>"},{"title":"Settings","link":"<a href=\"Settings.html\">Settings</a>"},{"title":"TileCollision","link":"<a href=\"TileCollision.html\">TileCollision</a>"},{"title":"TileCollision.getTileCollisionData","link":"<a href=\"TileCollision.html#.getTileCollisionData\">TileCollision.getTileCollisionData &rtrif; undefined</a>"},{"title":"TileCollision.initTileCollision","link":"<a href=\"TileCollision.html#.initTileCollision\">TileCollision.initTileCollision &rtrif; undefined</a>"},{"title":"TileCollision.setTileCollisionData","link":"<a href=\"TileCollision.html#.setTileCollisionData\">TileCollision.setTileCollisionData &rtrif; undefined</a>"},{"title":"TileCollision.tileCollisionRaycast","link":"<a href=\"TileCollision.html#.tileCollisionRaycast\">TileCollision.tileCollisionRaycast &rtrif; undefined</a>"},{"title":"TileCollision.tileCollisionTest","link":"<a href=\"TileCollision.html#.tileCollisionTest\">TileCollision.tileCollisionTest &rtrif; undefined</a>"},{"title":"Utilities","link":"<a href=\"Utilities.html\">Utilities</a>"},{"title":"Utilities.abs","link":"<a href=\"Utilities.html#.abs\">Utilities.abs &rtrif; undefined</a>"},{"title":"Utilities.clamp","link":"<a href=\"Utilities.html#.clamp\">Utilities.clamp &rtrif; undefined</a>"},{"title":"Utilities.formatTime","link":"<a href=\"Utilities.html#.formatTime\">Utilities.formatTime &rtrif; undefined</a>"},{"title":"Utilities.isOverlapping","link":"<a href=\"Utilities.html#.isOverlapping\">Utilities.isOverlapping &rtrif; undefined</a>"},{"title":"Utilities.lerp","link":"<a href=\"Utilities.html#.lerp\">Utilities.lerp &rtrif; undefined</a>"},{"title":"Utilities.max","link":"<a href=\"Utilities.html#.max\">Utilities.max &rtrif; undefined</a>"},{"title":"Utilities.min","link":"<a href=\"Utilities.html#.min\">Utilities.min &rtrif; undefined</a>"},{"title":"Utilities.mod","link":"<a href=\"Utilities.html#.mod\">Utilities.mod &rtrif; undefined</a>"},{"title":"Utilities.nearestPowerOfTwo","link":"<a href=\"Utilities.html#.nearestPowerOfTwo\">Utilities.nearestPowerOfTwo &rtrif; undefined</a>"},{"title":"Utilities.percent","link":"<a href=\"Utilities.html#.percent\">Utilities.percent &rtrif; undefined</a>"},{"title":"Utilities.sign","link":"<a href=\"Utilities.html#.sign\">Utilities.sign &rtrif; undefined</a>"},{"title":"Utilities.smoothStep","link":"<a href=\"Utilities.html#.smoothStep\">Utilities.smoothStep &rtrif; undefined</a>"},{"title":"Utilities.vec2","link":"<a href=\"Utilities.html#.vec2\">Utilities.vec2 &rtrif; undefined</a>"},{"title":"Utilities.wave","link":"<a href=\"Utilities.html#.wave\">Utilities.wave &rtrif; undefined</a>"},{"title":"WebGL","link":"<a href=\"WebGL.html\">WebGL</a>"},{"title":"WebGL.glCompileShader","link":"<a href=\"WebGL.html#.glCompileShader\">WebGL.glCompileShader &rtrif; undefined</a>"},{"title":"WebGL.glCopyToContext","link":"<a href=\"WebGL.html#.glCopyToContext\">WebGL.glCopyToContext &rtrif; undefined</a>"},{"title":"WebGL.glCreateBuffer","link":"<a href=\"WebGL.html#.glCreateBuffer\">WebGL.glCreateBuffer &rtrif; undefined</a>"},{"title":"WebGL.glCreateProgram","link":"<a href=\"WebGL.html#.glCreateProgram\">WebGL.glCreateProgram &rtrif; undefined</a>"},{"title":"WebGL.glCreateTexture","link":"<a href=\"WebGL.html#.glCreateTexture\">WebGL.glCreateTexture &rtrif; undefined</a>"},{"title":"WebGL.glDraw","link":"<a href=\"WebGL.html#.glDraw\">WebGL.glDraw &rtrif; undefined</a>"},{"title":"WebGL.glFlush","link":"<a href=\"WebGL.html#.glFlush\">WebGL.glFlush &rtrif; undefined</a>"},{"title":"WebGL.glSetBlendMode","link":"<a href=\"WebGL.html#.glSetBlendMode\">WebGL.glSetBlendMode &rtrif; undefined</a>"},{"title":"WebGL.glSetTexture","link":"<a href=\"WebGL.html#.glSetTexture\">WebGL.glSetTexture &rtrif; 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>"}];
497
+ var options =
498
+ setupSearch(list, options)
499
+ </script>
500
+
501
+
502
+
503
+
504
+
505
+
506
+
507
+
508
+
509
+
510
+
511
+ </body>
512
+
513
+ </html>