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
|
@@ -1,492 +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
|
-
engineObject.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
|
-
engineObject.js
|
|
104
|
-
</h1>
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
<section>
|
|
113
|
-
<article>
|
|
114
|
-
<pre class="prettyprint source linenums"><code>/*
|
|
115
|
-
LittleJS Object System
|
|
116
|
-
*/
|
|
117
|
-
|
|
118
|
-
'use strict';
|
|
119
|
-
|
|
120
|
-
/**
|
|
121
|
-
* LittleJS Object Base Object Class
|
|
122
|
-
* <br> - Base object class used by the engine
|
|
123
|
-
* <br> - Automatically adds self to object list
|
|
124
|
-
* <br> - Will be updated and rendered each frame
|
|
125
|
-
* <br> - Renders as a sprite from a tilesheet by default
|
|
126
|
-
* <br> - Can have color and addtive color applied
|
|
127
|
-
* <br> - 2d Physics and collision system
|
|
128
|
-
* <br> - Sorted by renderOrder
|
|
129
|
-
* <br> - Objects can have children attached
|
|
130
|
-
* <br> - Parents are updated before children, and set child transform
|
|
131
|
-
* <br> - Call destroy() to get rid of objects
|
|
132
|
-
*/
|
|
133
|
-
class EngineObject
|
|
134
|
-
{
|
|
135
|
-
/**
|
|
136
|
-
* Create an engine object and adds it to the list of objects
|
|
137
|
-
* @param {Vector2} [position=new Vector2(0,0)] - World space position of the object
|
|
138
|
-
* @param {Vector2} [size=defaultObjectSize] - World space size of the object
|
|
139
|
-
* @param {Number} [tileIndex=-1] - Tile to use to render object, untextured if -1
|
|
140
|
-
* @param {Vector2} [tileSize=defaultTileSize] - Size of tile in source pixels
|
|
141
|
-
* @param {Number} [angle=0] - Angle to rotate the object
|
|
142
|
-
* @param {Color} [color] - Color to apply to tile when rendered
|
|
143
|
-
*/
|
|
144
|
-
constructor(pos=vec2(), size=defaultObjectSize, tileIndex=-1, tileSize=defaultTileSize, angle=0, color)
|
|
145
|
-
{
|
|
146
|
-
// set passed in params
|
|
147
|
-
ASSERT(pos && pos.x != undefined && size.x != undefined); // ensure pos and size are vec2s
|
|
148
|
-
this.pos = pos.copy();
|
|
149
|
-
this.size = size;
|
|
150
|
-
this.tileIndex = tileIndex;
|
|
151
|
-
this.tileSize = tileSize;
|
|
152
|
-
this.angle = angle;
|
|
153
|
-
this.color = color;
|
|
154
|
-
|
|
155
|
-
// set physics defaults
|
|
156
|
-
this.mass = defaultObjectMass;
|
|
157
|
-
this.damping = defaultObjectDamping;
|
|
158
|
-
this.angleDamping = defaultObjectAngleDamping;
|
|
159
|
-
this.elasticity = defaultObjectElasticity;
|
|
160
|
-
this.friction = defaultObjectFriction;
|
|
161
|
-
|
|
162
|
-
// init other object stuff
|
|
163
|
-
this.spawnTime = time;
|
|
164
|
-
this.velocity = vec2(this.collideSolidObjects = this.renderOrder = this.angleVelocity = 0);
|
|
165
|
-
this.collideTiles = this.gravityScale = 1;
|
|
166
|
-
this.children = [];
|
|
167
|
-
|
|
168
|
-
// add to list of objects
|
|
169
|
-
engineObjects.push(this);
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
/** Update the object transform and physics, called automatically by engine once each frame */
|
|
173
|
-
update()
|
|
174
|
-
{
|
|
175
|
-
const parent = this.parent;
|
|
176
|
-
if (parent)
|
|
177
|
-
{
|
|
178
|
-
// copy parent pos/angle
|
|
179
|
-
this.pos = this.localPos.multiply(vec2(parent.getMirrorSign(),1)).rotate(-parent.angle).add(parent.pos);
|
|
180
|
-
this.angle = parent.getMirrorSign()*this.localAngle + parent.angle;
|
|
181
|
-
return;
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
// limit max speed to prevent missing collisions
|
|
185
|
-
this.velocity.x = clamp(this.velocity.x, maxObjectSpeed, -maxObjectSpeed);
|
|
186
|
-
this.velocity.y = clamp(this.velocity.y, maxObjectSpeed, -maxObjectSpeed);
|
|
187
|
-
|
|
188
|
-
// apply physics
|
|
189
|
-
const oldPos = this.pos.copy();
|
|
190
|
-
this.pos.x += this.velocity.x = this.damping * this.velocity.x;
|
|
191
|
-
this.pos.y += this.velocity.y = this.damping * this.velocity.y + gravity * this.gravityScale;
|
|
192
|
-
this.angle += this.angleVelocity *= this.angleDamping;
|
|
193
|
-
|
|
194
|
-
// physics sanity checks
|
|
195
|
-
ASSERT(this.angleDamping >= 0 && this.angleDamping <= 1);
|
|
196
|
-
ASSERT(this.damping >= 0 && this.damping <= 1);
|
|
197
|
-
|
|
198
|
-
if (!this.mass) // do not update collision for fixed objects
|
|
199
|
-
return;
|
|
200
|
-
|
|
201
|
-
const wasMovingDown = this.velocity.y < 0;
|
|
202
|
-
if (this.groundObject)
|
|
203
|
-
{
|
|
204
|
-
// apply friction in local space of ground object
|
|
205
|
-
const groundSpeed = this.groundObject.velocity ? this.groundObject.velocity.x : 0;
|
|
206
|
-
this.velocity.x = groundSpeed + (this.velocity.x - groundSpeed) * this.friction;
|
|
207
|
-
this.groundObject = 0;
|
|
208
|
-
//debugPhysics && debugPoint(this.pos.subtract(vec2(0,this.size.y/2)), '#0f0');
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
if (this.collideSolidObjects)
|
|
212
|
-
{
|
|
213
|
-
// check collisions against solid objects
|
|
214
|
-
const epsilon = 1e-3; // necessary to push slightly outside of the collision
|
|
215
|
-
for (const o of engineCollideObjects)
|
|
216
|
-
{
|
|
217
|
-
// non solid objects don't collide with eachother
|
|
218
|
-
if (!this.isSolid & !o.isSolid || o.destroyed || o.parent)
|
|
219
|
-
continue;
|
|
220
|
-
|
|
221
|
-
// check collision
|
|
222
|
-
if (!isOverlapping(this.pos, this.size, o.pos, o.size) || o == this)
|
|
223
|
-
continue;
|
|
224
|
-
|
|
225
|
-
// pass collision to objects
|
|
226
|
-
if (!this.collideWithObject(o) | !o.collideWithObject(this))
|
|
227
|
-
continue;
|
|
228
|
-
|
|
229
|
-
if (isOverlapping(oldPos, this.size, o.pos, o.size))
|
|
230
|
-
{
|
|
231
|
-
// if already was touching, try to push away
|
|
232
|
-
const deltaPos = oldPos.subtract(o.pos);
|
|
233
|
-
const length = deltaPos.length();
|
|
234
|
-
const pushAwayAccel = .001; // push away if alread overlapping
|
|
235
|
-
const velocity = length < .01 ? randVector(pushAwayAccel) : deltaPos.scale(pushAwayAccel/length);
|
|
236
|
-
this.velocity = this.velocity.add(velocity);
|
|
237
|
-
if (o.mass) // push away if not fixed
|
|
238
|
-
o.velocity = o.velocity.subtract(velocity);
|
|
239
|
-
|
|
240
|
-
debugPhysics && debugAABB(this.pos, this.size, o.pos, o.size, '#f00');
|
|
241
|
-
continue;
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
// check for collision
|
|
245
|
-
const sx = this.size.x + o.size.x;
|
|
246
|
-
const sy = this.size.y + o.size.y;
|
|
247
|
-
const smallStepUp = (oldPos.y - o.pos.y)*2 > sy + gravity; // prefer to push up if small delta
|
|
248
|
-
const isBlockedX = abs(oldPos.y - o.pos.y)*2 < sy;
|
|
249
|
-
const isBlockedY = abs(oldPos.x - o.pos.x)*2 < sx;
|
|
250
|
-
|
|
251
|
-
if (smallStepUp || isBlockedY || !isBlockedX) // resolve y collision
|
|
252
|
-
{
|
|
253
|
-
// push outside object collision
|
|
254
|
-
this.pos.y = o.pos.y + (sy/2 + epsilon) * sign(oldPos.y - o.pos.y);
|
|
255
|
-
if (o.groundObject && wasMovingDown || !o.mass)
|
|
256
|
-
{
|
|
257
|
-
// set ground object if landed on something
|
|
258
|
-
if (wasMovingDown)
|
|
259
|
-
this.groundObject = o;
|
|
260
|
-
|
|
261
|
-
// bounce if other object is fixed or grounded
|
|
262
|
-
this.velocity.y *= -this.elasticity;
|
|
263
|
-
}
|
|
264
|
-
else if (o.mass)
|
|
265
|
-
{
|
|
266
|
-
// inelastic collision
|
|
267
|
-
const inelastic = (this.mass * this.velocity.y + o.mass * o.velocity.y) / (this.mass + o.mass);
|
|
268
|
-
|
|
269
|
-
// elastic collision
|
|
270
|
-
const elastic0 = this.velocity.y * (this.mass - o.mass) / (this.mass + o.mass)
|
|
271
|
-
+ o.velocity.y * 2 * o.mass / (this.mass + o.mass);
|
|
272
|
-
const elastic1 = o.velocity.y * (o.mass - this.mass) / (this.mass + o.mass)
|
|
273
|
-
+ this.velocity.y * 2 * this.mass / (this.mass + o.mass);
|
|
274
|
-
|
|
275
|
-
// lerp betwen elastic or inelastic based on elasticity
|
|
276
|
-
const elasticity = max(this.elasticity, o.elasticity);
|
|
277
|
-
this.velocity.y = lerp(elasticity, elastic0, inelastic);
|
|
278
|
-
o.velocity.y = lerp(elasticity, elastic1, inelastic);
|
|
279
|
-
}
|
|
280
|
-
debugPhysics && smallStepUp && (abs(oldPos.x - o.pos.x)*2 > sx) && console.log('stepUp', oldPos.y - o.pos.y);
|
|
281
|
-
}
|
|
282
|
-
if (!smallStepUp && (isBlockedX || !isBlockedY)) // resolve x collision
|
|
283
|
-
{
|
|
284
|
-
// push outside collision
|
|
285
|
-
this.pos.x = o.pos.x + (sx/2 + epsilon) * sign(oldPos.x - o.pos.x);
|
|
286
|
-
if (o.mass)
|
|
287
|
-
{
|
|
288
|
-
// inelastic collision
|
|
289
|
-
const inelastic = (this.mass * this.velocity.x + o.mass * o.velocity.x) / (this.mass + o.mass);
|
|
290
|
-
|
|
291
|
-
// elastic collision
|
|
292
|
-
const elastic0 = this.velocity.x * (this.mass - o.mass) / (this.mass + o.mass)
|
|
293
|
-
+ o.velocity.x * 2 * o.mass / (this.mass + o.mass);
|
|
294
|
-
const elastic1 = o.velocity.x * (o.mass - this.mass) / (this.mass + o.mass)
|
|
295
|
-
+ this.velocity.x * 2 * this.mass / (this.mass + o.mass);
|
|
296
|
-
|
|
297
|
-
// lerp betwen elastic or inelastic based on elasticity
|
|
298
|
-
const elasticity = max(this.elasticity, o.elasticity);
|
|
299
|
-
this.velocity.x = lerp(elasticity, elastic0, inelastic);
|
|
300
|
-
o.velocity.x = lerp(elasticity, elastic1, inelastic);
|
|
301
|
-
}
|
|
302
|
-
else // bounce if other object is fixed
|
|
303
|
-
this.velocity.x *= -this.elasticity;
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
debugPhysics && debugAABB(this.pos, this.size, o.pos, o.size, '#f0f');
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
if (this.collideTiles)
|
|
310
|
-
{
|
|
311
|
-
// check collision against tiles
|
|
312
|
-
if (tileCollisionTest(this.pos, this.size, this))
|
|
313
|
-
{
|
|
314
|
-
//debugPhysics && debugRect(this.pos, this.size, '#ff0');
|
|
315
|
-
|
|
316
|
-
// if already was stuck in collision, don't do anything
|
|
317
|
-
// this should not happen unless something starts in collision
|
|
318
|
-
if (!tileCollisionTest(oldPos, this.size, this))
|
|
319
|
-
{
|
|
320
|
-
// test which side we bounced off (or both if a corner)
|
|
321
|
-
const isBlockedY = tileCollisionTest(new Vector2(oldPos.x, this.pos.y), this.size, this);
|
|
322
|
-
const isBlockedX = tileCollisionTest(new Vector2(this.pos.x, oldPos.y), this.size, this);
|
|
323
|
-
if (isBlockedY || !isBlockedX)
|
|
324
|
-
{
|
|
325
|
-
// set if landed on ground
|
|
326
|
-
this.groundObject = wasMovingDown;
|
|
327
|
-
|
|
328
|
-
// bounce velocity
|
|
329
|
-
this.velocity.y *= -this.elasticity;
|
|
330
|
-
|
|
331
|
-
// adjust next velocity to settle on ground
|
|
332
|
-
const o = (oldPos.y - this.size.y/2|0) - (oldPos.y - this.size.y/2);
|
|
333
|
-
if (o < 0 && o > -1 && o > this.damping * this.velocity.y + gravity * this.gravityScale)
|
|
334
|
-
this.velocity.y = this.damping ? (o - gravity * this.gravityScale) / this.damping : 0;
|
|
335
|
-
|
|
336
|
-
// move to previous position
|
|
337
|
-
this.pos.y = oldPos.y;
|
|
338
|
-
}
|
|
339
|
-
if (isBlockedX)
|
|
340
|
-
{
|
|
341
|
-
// move to previous position and bounce
|
|
342
|
-
this.pos.x = oldPos.x;
|
|
343
|
-
this.velocity.x *= -this.elasticity;
|
|
344
|
-
}
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
}
|
|
349
|
-
|
|
350
|
-
/** Render the object, draws a tile by default, automatically called each frame, sorted by renderOrder */
|
|
351
|
-
render()
|
|
352
|
-
{
|
|
353
|
-
// default object render
|
|
354
|
-
drawTile(this.pos, this.drawSize || this.size, this.tileIndex, this.tileSize, this.color, this.angle, this.mirror, this.additiveColor);
|
|
355
|
-
}
|
|
356
|
-
|
|
357
|
-
/** Destroy this object, destroy it's children, detach it's parent, and mark it for removal */
|
|
358
|
-
destroy()
|
|
359
|
-
{
|
|
360
|
-
if (this.destroyed)
|
|
361
|
-
return;
|
|
362
|
-
|
|
363
|
-
// disconnect from parent and destroy chidren
|
|
364
|
-
this.destroyed = 1;
|
|
365
|
-
this.parent && this.parent.removeChild(this);
|
|
366
|
-
for (const child of this.children)
|
|
367
|
-
child.destroy(child.parent = 0);
|
|
368
|
-
}
|
|
369
|
-
|
|
370
|
-
/** Called to check if a tile collision should be resolved
|
|
371
|
-
* @param {Number} tileData - the value of the tile at the position
|
|
372
|
-
* @param {Vector2} pos - tile where the collision occured
|
|
373
|
-
* @return {Boolean} true if the collision should be resolved */
|
|
374
|
-
collideWithTile(tileData, pos) { return tileData > 0; }
|
|
375
|
-
|
|
376
|
-
/** Called to check if a tile raycast hit
|
|
377
|
-
* @param {Number} tileData - the value of the tile at the position
|
|
378
|
-
* @param {Vector2} pos - tile where the raycast is
|
|
379
|
-
* @return {Boolean} true if the raycast should hit */
|
|
380
|
-
collideWithTileRaycast(tileData, pos) { return tileData > 0; }
|
|
381
|
-
|
|
382
|
-
/** Called to check if a tile raycast hit
|
|
383
|
-
* @param {EngineObject} object - the object to test against
|
|
384
|
-
* @return {Boolean} true if the collision should be resolved
|
|
385
|
-
*/
|
|
386
|
-
collideWithObject(o) { return 1; }
|
|
387
|
-
|
|
388
|
-
/** How long since the object was created
|
|
389
|
-
* @return {Number} */
|
|
390
|
-
getAliveTime() { return time - this.spawnTime; }
|
|
391
|
-
|
|
392
|
-
/** Apply acceleration to this object (adjust velocity, not affected by mass)
|
|
393
|
-
* @param {Vector2} acceleration */
|
|
394
|
-
applyAcceleration(a) { if (this.mass) this.velocity = this.velocity.add(a); }
|
|
395
|
-
|
|
396
|
-
/** Apply force to this object (adjust velocity, affected by mass)
|
|
397
|
-
* @param {Vector2} force */
|
|
398
|
-
applyForce(force) { this.applyAcceleration(force.scale(1/this.mass)); }
|
|
399
|
-
|
|
400
|
-
/** Get the direction of the mirror
|
|
401
|
-
* @return {Number} -1 if this.mirror is true, or 1 if not mirrored */
|
|
402
|
-
getMirrorSign() { return this.mirror ? -1 : 1; }
|
|
403
|
-
|
|
404
|
-
/** Attaches a child to this with a given local transform
|
|
405
|
-
* @param {EngineObject} child
|
|
406
|
-
* @param {Vector2} [localPos=new Vector2]
|
|
407
|
-
* @param {Number} [localAngle=0] */
|
|
408
|
-
addChild(child, localPos=vec2(), localAngle=0)
|
|
409
|
-
{
|
|
410
|
-
ASSERT(!child.parent && !this.children.includes(child));
|
|
411
|
-
this.children.push(child);
|
|
412
|
-
child.parent = this;
|
|
413
|
-
child.localPos = localPos.copy();
|
|
414
|
-
child.localAngle = localAngle;
|
|
415
|
-
}
|
|
416
|
-
|
|
417
|
-
/** Removes a child from this one
|
|
418
|
-
* @param {EngineObject} child */
|
|
419
|
-
removeChild(child)
|
|
420
|
-
{
|
|
421
|
-
ASSERT(child.parent == this && this.children.includes(child));
|
|
422
|
-
this.children.splice(this.children.indexOf(child), 1);
|
|
423
|
-
child.parent = 0;
|
|
424
|
-
}
|
|
425
|
-
|
|
426
|
-
/** Set how this object collides
|
|
427
|
-
* @param {boolean} [collideSolidObjects=0] - Does it collide with solid objects
|
|
428
|
-
* @param {boolean} [isSolid=0] - Does it collide with and block other objects (expensive in large numbers)
|
|
429
|
-
* @param {boolean} [collideTiles=1] - Does it collide with the tile collision */
|
|
430
|
-
setCollision(collideSolidObjects=0, isSolid=0, collideTiles=1)
|
|
431
|
-
{
|
|
432
|
-
ASSERT(collideSolidObjects || !isSolid); // solid objects must be set to collide
|
|
433
|
-
|
|
434
|
-
// track collidable objects in separate list
|
|
435
|
-
if (collideSolidObjects && !this.collideSolidObjects)
|
|
436
|
-
{
|
|
437
|
-
ASSERT(!engineCollideObjects.includes(this));
|
|
438
|
-
engineCollideObjects.push(this);
|
|
439
|
-
}
|
|
440
|
-
else if (!collideSolidObjects && this.collideSolidObjects)
|
|
441
|
-
{
|
|
442
|
-
ASSERT(engineCollideObjects.includes(this))
|
|
443
|
-
engineCollideObjects.splice(engineCollideObjects.indexOf(this), 1);
|
|
444
|
-
}
|
|
445
|
-
|
|
446
|
-
this.collideSolidObjects = collideSolidObjects;
|
|
447
|
-
this.isSolid = isSolid;
|
|
448
|
-
this.collideTiles = collideTiles;
|
|
449
|
-
}
|
|
450
|
-
}</code></pre>
|
|
451
|
-
</article>
|
|
452
|
-
</section>
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
</div>
|
|
458
|
-
|
|
459
|
-
<footer class="footer" id="footer">
|
|
460
|
-
<a href=https://github.com/KilledByAPixel/LittleJS>LittleJS - MIT License - Copyright 2021 Frank Force</a>
|
|
461
|
-
</footer>
|
|
462
|
-
|
|
463
|
-
<script src="scripts/third-party/prettify.js"></script>
|
|
464
|
-
<script src="scripts/third-party/lang-css.js"></script>
|
|
465
|
-
<script type="text/javascript" src="scripts/misc.js"></script>
|
|
466
|
-
|
|
467
|
-
<script>prettyPrint();</script>
|
|
468
|
-
<script src="scripts/linenumber.js"></script>
|
|
469
|
-
<script src="scripts/fix-code-block.js"></script>
|
|
470
|
-
<script src="scripts/fix-navbar.js"></script>
|
|
471
|
-
|
|
472
|
-
<script src="scripts/search.js"></script>
|
|
473
|
-
<script src="scripts/third-party/fuse.js"></script>
|
|
474
|
-
<script>
|
|
475
|
-
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>"}];
|
|
476
|
-
var options =
|
|
477
|
-
setupSearch(list, options)
|
|
478
|
-
</script>
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
</body>
|
|
491
|
-
|
|
492
|
-
</html>
|