kaplay 3001.0.12 → 3001.0.13

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 (302) hide show
  1. package/README.md +102 -99
  2. package/dist/declaration/global.d.ts +1 -2
  3. package/dist/doc.d.ts +447 -205
  4. package/dist/kaboom.js +8 -9
  5. package/dist/kaplay.cjs +8 -8
  6. package/dist/kaplay.cjs.map +3 -3
  7. package/dist/kaplay.js +8 -8
  8. package/dist/kaplay.js.map +3 -3
  9. package/dist/kaplay.mjs +8 -8
  10. package/dist/kaplay.mjs.map +3 -3
  11. package/package.json +27 -12
  12. package/dist/declaration/app/app.d.ts +0 -182
  13. package/dist/declaration/app/app.d.ts.map +0 -1
  14. package/dist/declaration/app/frame.d.ts +0 -4
  15. package/dist/declaration/app/frame.d.ts.map +0 -1
  16. package/dist/declaration/app/index.d.ts +0 -4
  17. package/dist/declaration/app/index.d.ts.map +0 -1
  18. package/dist/declaration/app/inputBindings.d.ts +0 -27
  19. package/dist/declaration/app/inputBindings.d.ts.map +0 -1
  20. package/dist/declaration/assets/aseprite.d.ts +0 -26
  21. package/dist/declaration/assets/aseprite.d.ts.map +0 -1
  22. package/dist/declaration/assets/asset.d.ts +0 -58
  23. package/dist/declaration/assets/asset.d.ts.map +0 -1
  24. package/dist/declaration/assets/bitmapFont.d.ts +0 -18
  25. package/dist/declaration/assets/bitmapFont.d.ts.map +0 -1
  26. package/dist/declaration/assets/font.d.ts +0 -17
  27. package/dist/declaration/assets/font.d.ts.map +0 -1
  28. package/dist/declaration/assets/index.d.ts +0 -11
  29. package/dist/declaration/assets/index.d.ts.map +0 -1
  30. package/dist/declaration/assets/pedit.d.ts +0 -10
  31. package/dist/declaration/assets/pedit.d.ts.map +0 -1
  32. package/dist/declaration/assets/shader.d.ts +0 -36
  33. package/dist/declaration/assets/shader.d.ts.map +0 -1
  34. package/dist/declaration/assets/sound.d.ts +0 -12
  35. package/dist/declaration/assets/sound.d.ts.map +0 -1
  36. package/dist/declaration/assets/sprite.d.ts +0 -114
  37. package/dist/declaration/assets/sprite.d.ts.map +0 -1
  38. package/dist/declaration/assets/spriteAtlas.d.ts +0 -26
  39. package/dist/declaration/assets/spriteAtlas.d.ts.map +0 -1
  40. package/dist/declaration/assets/utils.d.ts +0 -2
  41. package/dist/declaration/assets/utils.d.ts.map +0 -1
  42. package/dist/declaration/audio/audio.d.ts +0 -8
  43. package/dist/declaration/audio/audio.d.ts.map +0 -1
  44. package/dist/declaration/audio/burp.d.ts +0 -3
  45. package/dist/declaration/audio/burp.d.ts.map +0 -1
  46. package/dist/declaration/audio/index.d.ts +0 -6
  47. package/dist/declaration/audio/index.d.ts.map +0 -1
  48. package/dist/declaration/audio/play.d.ts +0 -122
  49. package/dist/declaration/audio/play.d.ts.map +0 -1
  50. package/dist/declaration/audio/playMusic.d.ts +0 -3
  51. package/dist/declaration/audio/playMusic.d.ts.map +0 -1
  52. package/dist/declaration/audio/volume.d.ts +0 -4
  53. package/dist/declaration/audio/volume.d.ts.map +0 -1
  54. package/dist/declaration/components/draw/circle.d.ts +0 -32
  55. package/dist/declaration/components/draw/circle.d.ts.map +0 -1
  56. package/dist/declaration/components/draw/color.d.ts +0 -12
  57. package/dist/declaration/components/draw/color.d.ts.map +0 -1
  58. package/dist/declaration/components/draw/drawon.d.ts +0 -6
  59. package/dist/declaration/components/draw/drawon.d.ts.map +0 -1
  60. package/dist/declaration/components/draw/fadeIn.d.ts +0 -3
  61. package/dist/declaration/components/draw/fadeIn.d.ts.map +0 -1
  62. package/dist/declaration/components/draw/index.d.ts +0 -16
  63. package/dist/declaration/components/draw/index.d.ts.map +0 -1
  64. package/dist/declaration/components/draw/mask.d.ts +0 -11
  65. package/dist/declaration/components/draw/mask.d.ts.map +0 -1
  66. package/dist/declaration/components/draw/opacity.d.ts +0 -16
  67. package/dist/declaration/components/draw/opacity.d.ts.map +0 -1
  68. package/dist/declaration/components/draw/outline.d.ts +0 -13
  69. package/dist/declaration/components/draw/outline.d.ts.map +0 -1
  70. package/dist/declaration/components/draw/particles.d.ts +0 -43
  71. package/dist/declaration/components/draw/particles.d.ts.map +0 -1
  72. package/dist/declaration/components/draw/polygon.d.ts +0 -46
  73. package/dist/declaration/components/draw/polygon.d.ts.map +0 -1
  74. package/dist/declaration/components/draw/raycast.d.ts +0 -3
  75. package/dist/declaration/components/draw/raycast.d.ts.map +0 -1
  76. package/dist/declaration/components/draw/rect.d.ts +0 -43
  77. package/dist/declaration/components/draw/rect.d.ts.map +0 -1
  78. package/dist/declaration/components/draw/shader.d.ts +0 -19
  79. package/dist/declaration/components/draw/shader.d.ts.map +0 -1
  80. package/dist/declaration/components/draw/sprite.d.ts +0 -141
  81. package/dist/declaration/components/draw/sprite.d.ts.map +0 -1
  82. package/dist/declaration/components/draw/text.d.ts +0 -126
  83. package/dist/declaration/components/draw/text.d.ts.map +0 -1
  84. package/dist/declaration/components/draw/uvquad.d.ts +0 -24
  85. package/dist/declaration/components/draw/uvquad.d.ts.map +0 -1
  86. package/dist/declaration/components/index.d.ts +0 -6
  87. package/dist/declaration/components/index.d.ts.map +0 -1
  88. package/dist/declaration/components/level/agent.d.ts +0 -35
  89. package/dist/declaration/components/level/agent.d.ts.map +0 -1
  90. package/dist/declaration/components/level/index.d.ts +0 -6
  91. package/dist/declaration/components/level/index.d.ts.map +0 -1
  92. package/dist/declaration/components/level/pathfinder.d.ts +0 -21
  93. package/dist/declaration/components/level/pathfinder.d.ts.map +0 -1
  94. package/dist/declaration/components/level/patrol.d.ts +0 -22
  95. package/dist/declaration/components/level/patrol.d.ts.map +0 -1
  96. package/dist/declaration/components/level/sentry.d.ts +0 -48
  97. package/dist/declaration/components/level/sentry.d.ts.map +0 -1
  98. package/dist/declaration/components/level/tile.d.ts +0 -61
  99. package/dist/declaration/components/level/tile.d.ts.map +0 -1
  100. package/dist/declaration/components/misc/animate.d.ts +0 -141
  101. package/dist/declaration/components/misc/animate.d.ts.map +0 -1
  102. package/dist/declaration/components/misc/boom.d.ts +0 -3
  103. package/dist/declaration/components/misc/boom.d.ts.map +0 -1
  104. package/dist/declaration/components/misc/health.d.ts +0 -53
  105. package/dist/declaration/components/misc/health.d.ts.map +0 -1
  106. package/dist/declaration/components/misc/index.d.ts +0 -10
  107. package/dist/declaration/components/misc/index.d.ts.map +0 -1
  108. package/dist/declaration/components/misc/lifespan.d.ts +0 -14
  109. package/dist/declaration/components/misc/lifespan.d.ts.map +0 -1
  110. package/dist/declaration/components/misc/named.d.ts +0 -12
  111. package/dist/declaration/components/misc/named.d.ts.map +0 -1
  112. package/dist/declaration/components/misc/state.d.ts +0 -41
  113. package/dist/declaration/components/misc/state.d.ts.map +0 -1
  114. package/dist/declaration/components/misc/stay.d.ts +0 -18
  115. package/dist/declaration/components/misc/stay.d.ts.map +0 -1
  116. package/dist/declaration/components/misc/textInput.d.ts +0 -18
  117. package/dist/declaration/components/misc/textInput.d.ts.map +0 -1
  118. package/dist/declaration/components/misc/timer.d.ts +0 -34
  119. package/dist/declaration/components/misc/timer.d.ts.map +0 -1
  120. package/dist/declaration/components/physics/area.d.ts +0 -189
  121. package/dist/declaration/components/physics/area.d.ts.map +0 -1
  122. package/dist/declaration/components/physics/body.d.ts +0 -175
  123. package/dist/declaration/components/physics/body.d.ts.map +0 -1
  124. package/dist/declaration/components/physics/doubleJump.d.ts +0 -23
  125. package/dist/declaration/components/physics/doubleJump.d.ts.map +0 -1
  126. package/dist/declaration/components/physics/effectors.d.ts +0 -83
  127. package/dist/declaration/components/physics/effectors.d.ts.map +0 -1
  128. package/dist/declaration/components/physics/index.d.ts +0 -5
  129. package/dist/declaration/components/physics/index.d.ts.map +0 -1
  130. package/dist/declaration/components/transform/anchor.d.ts +0 -15
  131. package/dist/declaration/components/transform/anchor.d.ts.map +0 -1
  132. package/dist/declaration/components/transform/fixed.d.ts +0 -14
  133. package/dist/declaration/components/transform/fixed.d.ts.map +0 -1
  134. package/dist/declaration/components/transform/follow.d.ts +0 -21
  135. package/dist/declaration/components/transform/follow.d.ts.map +0 -1
  136. package/dist/declaration/components/transform/index.d.ts +0 -11
  137. package/dist/declaration/components/transform/index.d.ts.map +0 -1
  138. package/dist/declaration/components/transform/layer.d.ts +0 -26
  139. package/dist/declaration/components/transform/layer.d.ts.map +0 -1
  140. package/dist/declaration/components/transform/move.d.ts +0 -4
  141. package/dist/declaration/components/transform/move.d.ts.map +0 -1
  142. package/dist/declaration/components/transform/offscreen.d.ts +0 -48
  143. package/dist/declaration/components/transform/offscreen.d.ts.map +0 -1
  144. package/dist/declaration/components/transform/pos.d.ts +0 -77
  145. package/dist/declaration/components/transform/pos.d.ts.map +0 -1
  146. package/dist/declaration/components/transform/rotate.d.ts +0 -24
  147. package/dist/declaration/components/transform/rotate.d.ts.map +0 -1
  148. package/dist/declaration/components/transform/scale.d.ts +0 -41
  149. package/dist/declaration/components/transform/scale.d.ts.map +0 -1
  150. package/dist/declaration/components/transform/z.d.ts +0 -14
  151. package/dist/declaration/components/transform/z.d.ts.map +0 -1
  152. package/dist/declaration/constants.d.ts +0 -34
  153. package/dist/declaration/constants.d.ts.map +0 -1
  154. package/dist/declaration/events/eventMap.d.ts +0 -223
  155. package/dist/declaration/events/eventMap.d.ts.map +0 -1
  156. package/dist/declaration/events/events.d.ts +0 -57
  157. package/dist/declaration/events/events.d.ts.map +0 -1
  158. package/dist/declaration/events/globalEvents.d.ts +0 -30
  159. package/dist/declaration/events/globalEvents.d.ts.map +0 -1
  160. package/dist/declaration/events/index.d.ts +0 -3
  161. package/dist/declaration/events/index.d.ts.map +0 -1
  162. package/dist/declaration/game/camera.d.ts +0 -19
  163. package/dist/declaration/game/camera.d.ts.map +0 -1
  164. package/dist/declaration/game/game.d.ts +0 -67
  165. package/dist/declaration/game/game.d.ts.map +0 -1
  166. package/dist/declaration/game/gravity.d.ts +0 -6
  167. package/dist/declaration/game/gravity.d.ts.map +0 -1
  168. package/dist/declaration/game/index.d.ts +0 -13
  169. package/dist/declaration/game/index.d.ts.map +0 -1
  170. package/dist/declaration/game/initEvents.d.ts +0 -2
  171. package/dist/declaration/game/initEvents.d.ts.map +0 -1
  172. package/dist/declaration/game/kaboom.d.ts +0 -23
  173. package/dist/declaration/game/kaboom.d.ts.map +0 -1
  174. package/dist/declaration/game/layers.d.ts +0 -5
  175. package/dist/declaration/game/layers.d.ts.map +0 -1
  176. package/dist/declaration/game/level.d.ts +0 -32
  177. package/dist/declaration/game/level.d.ts.map +0 -1
  178. package/dist/declaration/game/make.d.ts +0 -3
  179. package/dist/declaration/game/make.d.ts.map +0 -1
  180. package/dist/declaration/game/object.d.ts +0 -4
  181. package/dist/declaration/game/object.d.ts.map +0 -1
  182. package/dist/declaration/game/scenes.d.ts +0 -11
  183. package/dist/declaration/game/scenes.d.ts.map +0 -1
  184. package/dist/declaration/game/utils.d.ts +0 -11
  185. package/dist/declaration/game/utils.d.ts.map +0 -1
  186. package/dist/declaration/gfx/anchor.d.ts +0 -7
  187. package/dist/declaration/gfx/anchor.d.ts.map +0 -1
  188. package/dist/declaration/gfx/bg.d.ts +0 -4
  189. package/dist/declaration/gfx/bg.d.ts.map +0 -1
  190. package/dist/declaration/gfx/draw/drawBezier.d.ts +0 -22
  191. package/dist/declaration/gfx/draw/drawBezier.d.ts.map +0 -1
  192. package/dist/declaration/gfx/draw/drawCircle.d.ts +0 -40
  193. package/dist/declaration/gfx/draw/drawCircle.d.ts.map +0 -1
  194. package/dist/declaration/gfx/draw/drawCurve.d.ts +0 -14
  195. package/dist/declaration/gfx/draw/drawCurve.d.ts.map +0 -1
  196. package/dist/declaration/gfx/draw/drawDebug.d.ts +0 -2
  197. package/dist/declaration/gfx/draw/drawDebug.d.ts.map +0 -1
  198. package/dist/declaration/gfx/draw/drawEllipse.d.ts +0 -3
  199. package/dist/declaration/gfx/draw/drawEllipse.d.ts.map +0 -1
  200. package/dist/declaration/gfx/draw/drawFormattedText.d.ts +0 -31
  201. package/dist/declaration/gfx/draw/drawFormattedText.d.ts.map +0 -1
  202. package/dist/declaration/gfx/draw/drawFrame.d.ts +0 -2
  203. package/dist/declaration/gfx/draw/drawFrame.d.ts.map +0 -1
  204. package/dist/declaration/gfx/draw/drawInspectText.d.ts +0 -3
  205. package/dist/declaration/gfx/draw/drawInspectText.d.ts.map +0 -1
  206. package/dist/declaration/gfx/draw/drawLine.d.ts +0 -56
  207. package/dist/declaration/gfx/draw/drawLine.d.ts.map +0 -1
  208. package/dist/declaration/gfx/draw/drawLoadingScreen.d.ts +0 -2
  209. package/dist/declaration/gfx/draw/drawLoadingScreen.d.ts.map +0 -1
  210. package/dist/declaration/gfx/draw/drawMasked.d.ts +0 -2
  211. package/dist/declaration/gfx/draw/drawMasked.d.ts.map +0 -1
  212. package/dist/declaration/gfx/draw/drawPolygon.d.ts +0 -3
  213. package/dist/declaration/gfx/draw/drawPolygon.d.ts.map +0 -1
  214. package/dist/declaration/gfx/draw/drawRaw.d.ts +0 -5
  215. package/dist/declaration/gfx/draw/drawRaw.d.ts.map +0 -1
  216. package/dist/declaration/gfx/draw/drawRect.d.ts +0 -42
  217. package/dist/declaration/gfx/draw/drawRect.d.ts.map +0 -1
  218. package/dist/declaration/gfx/draw/drawSprite.d.ts +0 -50
  219. package/dist/declaration/gfx/draw/drawSprite.d.ts.map +0 -1
  220. package/dist/declaration/gfx/draw/drawStenciled.d.ts +0 -2
  221. package/dist/declaration/gfx/draw/drawStenciled.d.ts.map +0 -1
  222. package/dist/declaration/gfx/draw/drawSubstracted.d.ts +0 -2
  223. package/dist/declaration/gfx/draw/drawSubstracted.d.ts.map +0 -1
  224. package/dist/declaration/gfx/draw/drawText.d.ts +0 -117
  225. package/dist/declaration/gfx/draw/drawText.d.ts.map +0 -1
  226. package/dist/declaration/gfx/draw/drawTexture.d.ts +0 -3
  227. package/dist/declaration/gfx/draw/drawTexture.d.ts.map +0 -1
  228. package/dist/declaration/gfx/draw/drawTriangle.d.ts +0 -29
  229. package/dist/declaration/gfx/draw/drawTriangle.d.ts.map +0 -1
  230. package/dist/declaration/gfx/draw/drawUVQuad.d.ts +0 -3
  231. package/dist/declaration/gfx/draw/drawUVQuad.d.ts.map +0 -1
  232. package/dist/declaration/gfx/draw/drawUnscaled.d.ts +0 -2
  233. package/dist/declaration/gfx/draw/drawUnscaled.d.ts.map +0 -1
  234. package/dist/declaration/gfx/draw/index.d.ts +0 -23
  235. package/dist/declaration/gfx/draw/index.d.ts.map +0 -1
  236. package/dist/declaration/gfx/formatText.d.ts +0 -7
  237. package/dist/declaration/gfx/formatText.d.ts.map +0 -1
  238. package/dist/declaration/gfx/gfx.d.ts +0 -101
  239. package/dist/declaration/gfx/gfx.d.ts.map +0 -1
  240. package/dist/declaration/gfx/gfxApp.d.ts +0 -59
  241. package/dist/declaration/gfx/gfxApp.d.ts.map +0 -1
  242. package/dist/declaration/gfx/index.d.ts +0 -10
  243. package/dist/declaration/gfx/index.d.ts.map +0 -1
  244. package/dist/declaration/gfx/stack.d.ts +0 -15
  245. package/dist/declaration/gfx/stack.d.ts.map +0 -1
  246. package/dist/declaration/gfx/texPacker.d.ts +0 -21
  247. package/dist/declaration/gfx/texPacker.d.ts.map +0 -1
  248. package/dist/declaration/gfx/viewport.d.ts +0 -5
  249. package/dist/declaration/gfx/viewport.d.ts.map +0 -1
  250. package/dist/declaration/index.d.ts +0 -79
  251. package/dist/declaration/index.d.ts.map +0 -1
  252. package/dist/declaration/kaplay.d.ts +0 -41
  253. package/dist/declaration/kaplay.d.ts.map +0 -1
  254. package/dist/declaration/math/clamp.d.ts +0 -2
  255. package/dist/declaration/math/clamp.d.ts.map +0 -1
  256. package/dist/declaration/math/color.d.ts +0 -90
  257. package/dist/declaration/math/color.d.ts.map +0 -1
  258. package/dist/declaration/math/easings.d.ts +0 -35
  259. package/dist/declaration/math/easings.d.ts.map +0 -1
  260. package/dist/declaration/math/index.d.ts +0 -8
  261. package/dist/declaration/math/index.d.ts.map +0 -1
  262. package/dist/declaration/math/math.d.ts +0 -486
  263. package/dist/declaration/math/math.d.ts.map +0 -1
  264. package/dist/declaration/math/navigation.d.ts +0 -12
  265. package/dist/declaration/math/navigation.d.ts.map +0 -1
  266. package/dist/declaration/math/navigationgrid.d.ts +0 -33
  267. package/dist/declaration/math/navigationgrid.d.ts.map +0 -1
  268. package/dist/declaration/math/navigationmesh.d.ts +0 -41
  269. package/dist/declaration/math/navigationmesh.d.ts.map +0 -1
  270. package/dist/declaration/math/various.d.ts +0 -6
  271. package/dist/declaration/math/various.d.ts.map +0 -1
  272. package/dist/declaration/types.d.ts +0 -6121
  273. package/dist/declaration/types.d.ts.map +0 -1
  274. package/dist/declaration/utils/asserts.d.ts +0 -7
  275. package/dist/declaration/utils/asserts.d.ts.map +0 -1
  276. package/dist/declaration/utils/benchmark.d.ts +0 -3
  277. package/dist/declaration/utils/benchmark.d.ts.map +0 -1
  278. package/dist/declaration/utils/binaryheap.d.ts +0 -30
  279. package/dist/declaration/utils/binaryheap.d.ts.map +0 -1
  280. package/dist/declaration/utils/dataURL.d.ts +0 -10
  281. package/dist/declaration/utils/dataURL.d.ts.map +0 -1
  282. package/dist/declaration/utils/deepEq.d.ts +0 -2
  283. package/dist/declaration/utils/deepEq.d.ts.map +0 -1
  284. package/dist/declaration/utils/index.d.ts +0 -13
  285. package/dist/declaration/utils/index.d.ts.map +0 -1
  286. package/dist/declaration/utils/log.d.ts +0 -5
  287. package/dist/declaration/utils/log.d.ts.map +0 -1
  288. package/dist/declaration/utils/numbers.d.ts +0 -2
  289. package/dist/declaration/utils/numbers.d.ts.map +0 -1
  290. package/dist/declaration/utils/overload.d.ts +0 -6
  291. package/dist/declaration/utils/overload.d.ts.map +0 -1
  292. package/dist/declaration/utils/runes.d.ts +0 -3
  293. package/dist/declaration/utils/runes.d.ts.map +0 -1
  294. package/dist/declaration/utils/sets.d.ts +0 -4
  295. package/dist/declaration/utils/sets.d.ts.map +0 -1
  296. package/dist/declaration/utils/uid.d.ts +0 -2
  297. package/dist/declaration/utils/uid.d.ts.map +0 -1
  298. package/dist/kaboom.cjs +0 -57
  299. package/dist/kaboom.cjs.map +0 -7
  300. package/dist/kaboom.js.map +0 -7
  301. package/dist/kaboom.mjs +0 -57
  302. package/dist/kaboom.mjs.map +0 -7
package/README.md CHANGED
@@ -1,58 +1,47 @@
1
- # KAPLAY.js, a JavaScript game library
1
+ # 🎮 KAPLAY.js a JavaScript & TypeScript Game Library
2
2
 
3
- ![#KAPLAY](/kaplay.webp)
3
+ <div align="center">
4
+ <img src="./kaplay.webp">
5
+ </div>
4
6
 
5
- [**KAPLAY**](https://kaplayjs.com/) is a JavaScript library that helps you make
6
- games fast and fun!
7
+ KAPLAY is the **fun-first**, 2D game library for **JavaScript** and
8
+ **TypeScript**. It’s made to **feel like a game** while you're making games.
9
+ Simple. Fast. Powerful.
7
10
 
8
- Start playing around with it in the [KAPLAYGROUND](https://play.kaplayjs.com/)
11
+ Whether you’re a beginner or an experienced dev, **KAPLAY** comes with its
12
+ own **web-based editor** — the [KAPLAYGROUND](https://play.kaplayjs.com) — so
13
+ you can try code instantly, and learn with more than **90 examples**!
9
14
 
10
- ## Examples
15
+ ## 🎲 Quick Overview
11
16
 
12
17
  ```js
13
- // initialize context
14
- kaplay();
15
-
16
- // define gravity
17
- setGravity(2400);
18
+ // Start a game
19
+ kaplay({
20
+ background: "#6d80fa",
21
+ });
18
22
 
19
- // load a sprite called "bean"
20
- loadSprite("bean", "sprites/bean.png");
23
+ // Load an image
24
+ loadSprite("bean", "https://play.kaplayjs.com/bean.png");
21
25
 
22
- // compose the player game object from multiple components and add it to the game
23
- const bean = add([
24
- sprite("bean"),
25
- pos(80, 40),
26
- area(),
27
- body(),
26
+ // Add a sprite to the scene
27
+ add([
28
+ sprite("bean"), // it renders as a sprite
28
29
  ]);
29
-
30
- // press space to jump
31
- onKeyPress("space", () => {
32
- // this method is provided by the "body" component above
33
- bean.jump();
34
- });
35
30
  ```
36
31
 
37
- KAPLAY uses a powerful component system to compose game objects and behaviors.
32
+ Game objects are composed from simple, powerful components:
38
33
 
39
34
  ```js
40
- // add a game obj to the scene from a list of component
35
+ // Add a Game Obj to the scene from a list of component
41
36
  const player = add([
42
- // it renders as a sprite
43
- sprite("bean"),
44
- // it has a position
45
- pos(100, 200),
46
- // it has a collider
47
- area(),
48
- // it is a physical body which will respond to physics
49
- body(),
50
- // it has 8 of health
51
- health(8),
52
- // or give it tags for easier group behaviors
53
- "player",
37
+ rect(40, 40), // it renders as a rectangle
38
+ pos(100, 200), // it has a position (coordinates)
39
+ area(), // it has a collider
40
+ body(), // it is a physical body which will respond to physics
41
+ health(8), // it has 8 health points
42
+ // Give it tags for easier group behaviors
54
43
  "friendly",
55
- // plain objects fields are directly assigned to the game obj
44
+ // Give plain objects fields for associated data
56
45
  {
57
46
  dir: vec2(-1, 0),
58
47
  dead: false,
@@ -74,18 +63,12 @@ player.onCollide("enemy", () => {
74
63
  player.onUpdate(() => {
75
64
  if (player.pos.y >= height()) {
76
65
  destroy(player);
77
- gameOver();
78
66
  }
79
67
  });
80
68
 
81
- // if 'player' onCollide with any object with tag "enemy", run the callback
82
- player.onCollide("enemy", () => {
83
- player.hp -= 1;
84
- });
85
-
86
- // all objects with tag "enemy" will move towards 'player' every frame
87
- onUpdate("enemy", (e) => {
88
- e.move(player.pos.sub(e.pos).unit().scale(e.speed));
69
+ // All objects with tag "enemy" will move to the left
70
+ onUpdate("enemy", (enemy) => {
71
+ enemy.move(-400, 0);
89
72
  });
90
73
 
91
74
  // move up 100 pixels per second every frame when "w" key is held down
@@ -94,99 +77,119 @@ onKeyDown("w", () => {
94
77
  });
95
78
  ```
96
79
 
97
- ## Usage
80
+ ## 🖥️ Installation
98
81
 
99
- ### Start a Project With `create-kaplay`
82
+ ### 🚀 Using `create-kaplay`
100
83
 
101
- The fastest way to start a KAPLAY game is with
102
- [`create-kaplay`](https://github.com/kaplayjs/create-kaplay)
84
+ The fastest way to get started:
103
85
 
104
86
  ```sh
105
- $ npx create-kaplay mygame
87
+ npx create-kaplay my-game
106
88
  ```
107
89
 
108
- This will create a directory called `mygame` for you, containing all the files
109
- we need
90
+ Then open [http://localhost:5173](http://localhost:5173) and edit `src/game.js`.
91
+
92
+ ### 📦 Install with package manager
110
93
 
111
94
  ```sh
112
- $ cd mygame
113
- $ npm run dev
95
+ npm install kaplay
114
96
  ```
115
97
 
116
- Then open http://localhost:5173 and edit `src/game.js`
98
+ ```sh
99
+ yarn add kaplay
100
+ ```
117
101
 
118
- ### Install as NPM Package
102
+ ```sh
103
+ pnpm add kaplay
104
+ ```
119
105
 
120
106
  ```sh
121
- $ npm install kaplay
107
+ bun add kaplay
122
108
  ```
123
109
 
124
- ```js
125
- import kaplay from "kaplay";
110
+ > You will need a bundler like [Vite](https://vitejs.dev/) or
111
+ > [ESBuild](https://esbuild.github.io/) to use KAPLAY in your project. Learn how
112
+ > to setup ESbuild
113
+ > [here](https://kaplayjs.com/guides/install/#setup-your-own-nodejs-environment).
126
114
 
127
- kaplay();
115
+ ### 🌐 Use in Browser
128
116
 
129
- add([
130
- text("oh hi"),
131
- pos(80, 40),
132
- ]);
117
+ Include via CDN:
118
+
119
+ ```html
120
+ <script src="https://unpkg.com/kaplay@3001.0.12/dist/kaplay.js"></script>
133
121
  ```
134
122
 
135
- also works with CommonJS
123
+ ### 📜 TypeScript Global Types
136
124
 
137
- ```js
138
- const kaboom = require("kaplay");
139
- ```
125
+ If you're using **TypeScript**, you used `create-kaplay` or installed with a
126
+ package manager and you want **global types**, you can load them using the
127
+ following directive:
140
128
 
141
- Note that you'll need to use a bundler like `esbuild` or `webpack` to use KAPLAY
142
- with NPM
129
+ ```ts
130
+ import "kaplay/global";
143
131
 
144
- ### Browser CDN
132
+ vec2(10, 10); // typed!
133
+ ```
145
134
 
146
- This exports a global `kaplay` function
135
+ But it's recommended to use `tsconfig.json` to include the types:
147
136
 
148
- ```html
149
- <script src="https://unpkg.com/kaplay@3000.1.17/dist/kaboom.js"></script>
150
- <script>
151
- kaplay()
152
- </script>
137
+ ```json
138
+ {
139
+ "compilerOptions": {
140
+ "types": ["./node_modules/kaplay/dist/declaration/global.d.ts"]
141
+ }
142
+ }
153
143
  ```
154
144
 
155
- or use with es modules
145
+ > If you are publishing a game (and not testing/learning) maybe you don't want
146
+ > to use globals,
147
+ > [see why](https://kaplayjs.com/guides/optimization/#avoid-global-namespace).
156
148
 
157
- ```html
158
- <script type="module">
159
- import kaplay from "https://unpkg.com/kaplay@3000.1.17/dist/kaboom.mjs"
160
- kaplay()
161
- </script>
149
+ You can also use all **KAPLAY** source types importing them:
150
+
151
+ ```js
152
+ import type { TextCompOpt } from "kaplay"
153
+ import type * as KA from "kaplay" // if you prefer a namespace-like import
154
+
155
+ interface MyTextCompOpt extends KA.TextCompOpt {
156
+ fallback: string;
157
+ }
162
158
  ```
163
159
 
164
- works all CDNs that supports NPM packages, e.g. jsdelivr, skypack
160
+ ## 📚 Resources
161
+
162
+ ### 📖 Docs
165
163
 
166
- ## Documentation
164
+ - [KAPLAY Official Docs](https://kaplayjs.com/docs/)
165
+ - [KAPLAYGROUND](https://play.kaplayjs.com)
167
166
 
168
- - **v3001**: https://kaplayjs.com/
169
- - **v3000**: https://kaboomjs.com/
170
- - **v2000**: https://2000.kaboomjs.com/
171
- - **v0.5.0**: https://legacy.kaboomjs.com/
167
+ ### 🎥 Videos
172
168
 
173
- ## Community
169
+ - [KAPLAY Library Crash Course by JSLegend ⚔️](https://www.youtube.com/watch?v=FdEYxGoy5_c)
170
+
171
+ ### 💬 Community
174
172
 
175
173
  - [Discord Server](https://discord.gg/aQ6RuQm3TF)
176
174
  - [GitHub Discussions](https://github.com/kaplayjs/kaplay/discussions)
177
175
  - [Twitter](https://twitter.com/Kaboomjs)
178
176
 
179
- ### Games
177
+ ## 🎮 Games
180
178
 
181
- Collections of games made with KAPLAY (and Kaboom), selected by KAPLAY:
179
+ Collections of games made with KAPLAY, selected by KAPLAY:
182
180
 
183
181
  - [Itch.io](https://itch.io/c/4494863/kag-collection)
184
182
  - [Newgrounds.com](https://www.newgrounds.com/playlist/379920/kaplay-games)
185
183
 
186
- ## Credits
184
+ ## 🙌 Credits
185
+
186
+ KAPLAY is an open-source project, maintained by the
187
+ [KAPLAY Team and core contributors](https://github.com/kaplayjs/kaplay/wiki/Development-Team)
188
+ and with the support of many
189
+ [other amazing contributors](https://github.com/kaplayjs/kaplay/graphs/contributors).
190
+
191
+ ### 🏆 Recognitions
187
192
 
188
- - Thanks to [tga](https://space55.xyz) for all his work on the original
189
- Kaboom.js
190
193
  - Thanks to [mulfok](https://twitter.com/MulfoK) for the awesome
191
194
  [mulfok32](https://lospec.com/palette-list/mulfok32) color palette, used in
192
195
  KAPLAY sprites and art
@@ -1,5 +1,4 @@
1
- import { KAPLAYCtx } from "./types"
2
- import { kaplay as KAPLAY } from "./kaplay"
1
+ import { KAPLAYCtx, default as KAPLAY } from "../doc"
3
2
  declare global {
4
3
  const _k: KAPLAYCtx["_k"]
5
4
  const add: KAPLAYCtx["add"]