entityjs 0.2.2 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (264) hide show
  1. data/.gitignore +7 -6
  2. data/.rspec +2 -0
  3. data/README.md +170 -49
  4. data/Rakefile +9 -0
  5. data/bin/entityjs +24 -14
  6. data/entityjs.gemspec +15 -9
  7. data/lib/entityjs/assets.rb +167 -0
  8. data/lib/entityjs/command.rb +52 -27
  9. data/lib/entityjs/commands/build.rb +128 -0
  10. data/lib/entityjs/commands/comp.rb +74 -0
  11. data/lib/entityjs/commands/font.rb +73 -0
  12. data/lib/entityjs/commands/new.rb +59 -0
  13. data/lib/entityjs/commands/server.rb +54 -0
  14. data/lib/entityjs/commands/templates.rb +28 -0
  15. data/lib/entityjs/commands/test.rb +69 -0
  16. data/lib/entityjs/config.rb +130 -0
  17. data/lib/entityjs/dirc.rb +184 -0
  18. data/lib/entityjs/parsers/parse_tmx.rb +41 -0
  19. data/lib/entityjs/parsers/parse_xml.rb +39 -0
  20. data/lib/entityjs/version.rb +1 -1
  21. data/lib/entityjs.rb +53 -0
  22. data/license.txt +1 -1
  23. data/public/play.html +122 -0
  24. data/public/qunit/qunit.css +226 -0
  25. data/public/qunit/qunit.entity.js +190 -0
  26. data/public/qunit/qunit.input.js +200 -0
  27. data/public/qunit/qunit.js +1598 -0
  28. data/public/qunit/qunit.mock.js +97 -0
  29. data/public/tests.html +45 -0
  30. data/spec/javascripts/helpers/accept.png +0 -0
  31. data/spec/javascripts/helpers/alligator.mp3 +0 -0
  32. data/spec/javascripts/helpers/alligator.ogg +0 -0
  33. data/spec/javascripts/helpers/canvas.js +15 -0
  34. data/spec/javascripts/helpers/entityunit.js +50 -0
  35. data/spec/javascripts/helpers/factories.js +11 -0
  36. data/spec/javascripts/helpers/jquery-1.7.1.min.js +4 -0
  37. data/spec/javascripts/src/core/comp_spec.js +145 -0
  38. data/spec/javascripts/src/core/entity_spec.js +324 -0
  39. data/spec/javascripts/src/core/load_spec.js +71 -0
  40. data/spec/javascripts/src/core/query_spec.js +157 -0
  41. data/spec/javascripts/src/core/re_spec.js +61 -0
  42. data/spec/javascripts/src/core/system_spec.js +41 -0
  43. data/spec/javascripts/src/cycle/draw_spec.js +106 -0
  44. data/spec/javascripts/src/cycle/tick_spec.js +20 -0
  45. data/spec/javascripts/src/cycle/update_spec.js +86 -0
  46. data/spec/javascripts/src/display/align_spec.js +43 -0
  47. data/spec/javascripts/src/display/circle_spec.js +26 -0
  48. data/spec/javascripts/src/display/group_spec.js +7 -0
  49. data/spec/javascripts/src/display/image_spec.js +32 -0
  50. data/spec/javascripts/src/display/imgtext_spec.js +32 -0
  51. data/spec/javascripts/src/display/rect_spec.js +13 -0
  52. data/spec/javascripts/src/display/screen_spec.js +47 -0
  53. data/spec/javascripts/src/display/sprite_spec.js +28 -0
  54. data/spec/javascripts/src/display/text_spec.js +30 -0
  55. data/spec/javascripts/src/input/keyboard_spec.js +67 -0
  56. data/spec/javascripts/src/input/mouse_spec.js +133 -0
  57. data/spec/javascripts/src/input/pressed_spec.js +31 -0
  58. data/spec/javascripts/src/math/bisect_spec.js +59 -0
  59. data/spec/javascripts/src/math/body_spec.js +30 -0
  60. data/spec/javascripts/src/math/drag_spec.js +38 -0
  61. data/spec/javascripts/src/math/force_spec.js +134 -0
  62. data/spec/javascripts/src/math/hit_spec.js +28 -0
  63. data/spec/javascripts/src/math/hitmap_spec.js +52 -0
  64. data/spec/javascripts/src/math/limit_spec.js +35 -0
  65. data/spec/javascripts/src/math/point_spec.js +57 -0
  66. data/spec/javascripts/src/math/tile_spec.js +78 -0
  67. data/spec/javascripts/src/media/sound_spec.js +40 -0
  68. data/spec/javascripts/src/pattern/automap_spec.js +93 -0
  69. data/spec/javascripts/src/pattern/flicker_spec.js +66 -0
  70. data/spec/javascripts/src/pattern/timestep_spec.js +23 -0
  71. data/spec/javascripts/src/save/storage_spec.js +37 -0
  72. data/spec/javascripts/src/util/log_spec.js +9 -0
  73. data/spec/javascripts/src/util/polyfill_spec.js +13 -0
  74. data/spec/javascripts/src/util/random_spec.js +33 -0
  75. data/spec/javascripts/src/util/scene_spec.js +52 -0
  76. data/spec/javascripts/src/util/sheet_spec.js +25 -0
  77. data/spec/javascripts/src/util/support_spec.js +17 -0
  78. data/spec/javascripts/support/jasmine.yml +76 -0
  79. data/spec/javascripts/support/jasmine_config.rb +32 -0
  80. data/spec/javascripts/support/jasmine_runner.rb +32 -0
  81. data/spec/lib/entityjs/assets_spec.rb +216 -0
  82. data/spec/lib/entityjs/command_spec.rb +53 -0
  83. data/spec/lib/entityjs/commands/build_spec.rb +69 -0
  84. data/spec/lib/entityjs/commands/comp_spec.rb +45 -0
  85. data/spec/lib/entityjs/commands/font_spec.rb +7 -0
  86. data/spec/lib/entityjs/commands/new_spec.rb +20 -0
  87. data/spec/lib/entityjs/commands/templates_spec.rb +9 -0
  88. data/spec/lib/entityjs/commands/test_spec.rb +31 -0
  89. data/spec/lib/entityjs/config_spec.rb +19 -0
  90. data/spec/lib/entityjs/dirc_spec.rb +83 -0
  91. data/spec/lib/entityjs/version_spec.rb +9 -0
  92. data/spec/spec_helper.rb +21 -3
  93. data/spec/support/factories.rb +19 -0
  94. data/spec/support/mygame.rb +11 -0
  95. data/src/core/comp.js +318 -0
  96. data/src/core/entity.js +549 -0
  97. data/src/core/load.js +242 -0
  98. data/src/core/query.js +354 -0
  99. data/src/core/re.js +74 -0
  100. data/src/core/system.js +121 -0
  101. data/src/cycle/draw.js +178 -0
  102. data/src/cycle/tick.js +25 -0
  103. data/src/{entityjs/cycle → cycle}/tween.js +60 -60
  104. data/src/{entityjs/cycle → cycle}/update.js +86 -85
  105. data/src/{entityjs/cycle → cycle}/wait.js +22 -21
  106. data/src/{entityjs/cycle → cycle}/worker.js +8 -8
  107. data/src/display/align.js +45 -0
  108. data/src/display/circle.js +33 -0
  109. data/src/{entityjs/display → display}/group.js +62 -62
  110. data/src/display/image.js +35 -0
  111. data/src/display/imgtext.js +102 -0
  112. data/src/{entityjs/display → display}/rect.js +18 -18
  113. data/src/display/screen.js +57 -0
  114. data/src/display/sprite.js +54 -0
  115. data/src/display/text.js +44 -0
  116. data/src/{entityjs/input → input}/keyboard.js +152 -150
  117. data/src/input/mouse.js +111 -0
  118. data/src/input/pressed.js +41 -0
  119. data/src/{entityjs/input → input}/touch.js +24 -28
  120. data/src/math/bisect.js +84 -0
  121. data/src/math/body.js +70 -0
  122. data/src/{entityjs/math → math}/drag.js +44 -38
  123. data/src/math/force.js +143 -0
  124. data/src/math/hit.js +32 -0
  125. data/src/math/hitmap.js +167 -0
  126. data/src/math/limit.js +37 -0
  127. data/src/math/point.js +40 -0
  128. data/src/math/tile.js +109 -0
  129. data/src/media/channel.js +93 -0
  130. data/src/{entityjs/media → media}/playlist.js +4 -4
  131. data/src/media/sound.js +114 -0
  132. data/src/{entityjs/net → net}/socket.js +51 -51
  133. data/src/pattern/automap.js +133 -0
  134. data/src/{entityjs/pattern → pattern}/flicker.js +206 -213
  135. data/src/pattern/timestep.js +31 -0
  136. data/src/{entityjs/save → save}/database.js +6 -6
  137. data/src/{entityjs/save → save}/storage.js +47 -56
  138. data/src/{entityjs/util → util}/log.js +17 -25
  139. data/src/{entityjs/util → util}/polyfill.js +24 -24
  140. data/src/util/random.js +20 -0
  141. data/src/util/scene.js +102 -0
  142. data/src/util/sheet.js +35 -0
  143. data/src/{entityjs/util → util}/support.js +109 -132
  144. data/{examples/keys → templates/arrow_keys/assets/images}/arrow.png +0 -0
  145. data/templates/arrow_keys/config.yml +22 -0
  146. data/templates/arrow_keys/readme.txt +9 -0
  147. data/templates/arrow_keys/scripts/display/arrow.js +69 -0
  148. data/templates/arrow_keys/scripts/init.js +10 -0
  149. data/templates/arrow_keys/scripts/input/controls.js +35 -0
  150. data/templates/arrow_keys/scripts/scenes/home.js +20 -0
  151. data/templates/arrow_keys/scripts/scenes/load.js +57 -0
  152. data/templates/arrow_keys/tests/display/arrow_test.js +29 -0
  153. data/templates/arrow_keys/tests/init_test.js +4 -0
  154. data/templates/arrow_keys/tests/input/controls_test.js +32 -0
  155. data/templates/arrow_keys/tests/scenes/home_test.js +0 -0
  156. data/templates/arrow_keys/tests/scenes/load_test.js +16 -0
  157. data/templates/blank/config.yml +22 -0
  158. data/templates/blank/readme.txt +79 -0
  159. data/templates/platform/assets/images/bit.png +0 -0
  160. data/templates/platform/assets/images/hero.png +0 -0
  161. data/templates/platform/assets/images/items.png +0 -0
  162. data/templates/platform/assets/images/tiles.png +0 -0
  163. data/templates/platform/assets/levels/level1.tmx +44 -0
  164. data/templates/platform/assets/sounds/coin.mp3 +0 -0
  165. data/templates/platform/assets/sounds/coin.ogg +0 -0
  166. data/templates/platform/config.yml +22 -0
  167. data/templates/platform/readme.txt +87 -0
  168. data/templates/platform/scripts/display/bit.js +12 -0
  169. data/templates/platform/scripts/display/hero.js +77 -0
  170. data/templates/platform/scripts/display/tile.js +2 -0
  171. data/templates/platform/scripts/display/tsprite.js +17 -0
  172. data/templates/platform/scripts/init.js +7 -0
  173. data/templates/platform/scripts/items/coin.js +27 -0
  174. data/templates/platform/scripts/items/item.js +41 -0
  175. data/templates/platform/scripts/items/spring.js +25 -0
  176. data/templates/platform/scripts/scenes/home.js +10 -0
  177. data/templates/platform/scripts/scenes/load.js +27 -0
  178. data/templates/platform/scripts/scenes/play.js +31 -0
  179. data/templates/platform/scripts/util/counter.js +34 -0
  180. data/templates/platform/scripts/util/level.js +84 -0
  181. data/templates/platform/tests/display/bit_test.js +7 -0
  182. data/templates/platform/tests/display/hero_test.js +73 -0
  183. data/templates/platform/tests/display/tile_test.js +7 -0
  184. data/templates/platform/tests/display/tsprite_test.js +8 -0
  185. data/templates/platform/tests/factories.js +30 -0
  186. data/templates/platform/tests/items/coin_test.js +28 -0
  187. data/templates/platform/tests/items/item_test.js +36 -0
  188. data/templates/platform/tests/items/spring_test.js +21 -0
  189. data/templates/platform/tests/scenes/home_test.js +9 -0
  190. data/templates/platform/tests/scenes/load_test.js +11 -0
  191. data/templates/platform/tests/scenes/play_test.js +15 -0
  192. data/templates/platform/tests/util/counter_test.js +9 -0
  193. data/templates/platform/tests/util/level_test.js +29 -0
  194. metadata +249 -97
  195. data/build/build_debug.bat +0 -1
  196. data/build/build_min.bat +0 -1
  197. data/build/config.php +0 -64
  198. data/build/debug.php +0 -48
  199. data/build/files.php +0 -74
  200. data/build/jsmin.php +0 -376
  201. data/build/min.php +0 -50
  202. data/changelog.txt +0 -53
  203. data/examples/keys/keys.html +0 -59
  204. data/examples/keys/keys.js +0 -148
  205. data/examples/mouse/mouse.html +0 -58
  206. data/examples/mouse/mouse.js +0 -60
  207. data/examples/scenes/home.png +0 -0
  208. data/examples/scenes/scenes.html +0 -55
  209. data/examples/scenes/scenes.js +0 -134
  210. data/examples/scenes/win.png +0 -0
  211. data/examples/sounds/sound1.mp3 +0 -0
  212. data/examples/sounds/sound1.ogg +0 -0
  213. data/examples/sounds/sounds.html +0 -56
  214. data/examples/sounds/sounds.js +0 -44
  215. data/examples/style/background.png +0 -0
  216. data/examples/style/sheet.css +0 -762
  217. data/examples/tiles/tiles.html +0 -56
  218. data/examples/tiles/tiles.js +0 -85
  219. data/examples/tiles/tiles.png +0 -0
  220. data/lib/blank/config.js +0 -4
  221. data/lib/blank/config.yml +0 -21
  222. data/lib/blank/home.js +0 -11
  223. data/lib/blank/init.js +0 -7
  224. data/lib/blank/load.js +0 -21
  225. data/lib/blank/play.html +0 -29
  226. data/lib/entity.debug.js +0 -52
  227. data/lib/entity.min.js +0 -184
  228. data/lib/entityjs/comp.rb +0 -11
  229. data/lib/entityjs/game.rb +0 -93
  230. data/lib/entityjs/min.rb +0 -11
  231. data/lib/entityjs/refresh.rb +0 -14
  232. data/spec/lib/entityjs/game_spec.rb +0 -11
  233. data/src/entityjs/core/component.js +0 -306
  234. data/src/entityjs/core/entity.js +0 -516
  235. data/src/entityjs/core/load.js +0 -224
  236. data/src/entityjs/core/query.js +0 -410
  237. data/src/entityjs/core/re.js +0 -70
  238. data/src/entityjs/core/system.js +0 -125
  239. data/src/entityjs/cycle/draw.js +0 -185
  240. data/src/entityjs/cycle/ticker.js +0 -27
  241. data/src/entityjs/display/anchor.js +0 -53
  242. data/src/entityjs/display/bitfont.js +0 -93
  243. data/src/entityjs/display/bitmap.js +0 -37
  244. data/src/entityjs/display/circle.js +0 -30
  245. data/src/entityjs/display/font.js +0 -41
  246. data/src/entityjs/display/screen.js +0 -46
  247. data/src/entityjs/display/sprite.js +0 -37
  248. data/src/entityjs/input/mouse.js +0 -123
  249. data/src/entityjs/input/pressed.js +0 -81
  250. data/src/entityjs/math/bind.js +0 -76
  251. data/src/entityjs/math/bisect.js +0 -69
  252. data/src/entityjs/math/body.js +0 -39
  253. data/src/entityjs/math/hitmap.js +0 -165
  254. data/src/entityjs/math/hittest.js +0 -26
  255. data/src/entityjs/math/physics.js +0 -142
  256. data/src/entityjs/math/point.js +0 -57
  257. data/src/entityjs/math/tile.js +0 -91
  258. data/src/entityjs/media/channel.js +0 -93
  259. data/src/entityjs/media/sound.js +0 -110
  260. data/src/entityjs/pattern/arraymap.js +0 -89
  261. data/src/entityjs/pattern/timestep.js +0 -34
  262. data/src/entityjs/util/random.js +0 -38
  263. data/src/entityjs/util/scene.js +0 -101
  264. data/src/entityjs/util/sheet.js +0 -51
@@ -1,56 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
-
4
- <head>
5
- <meta http-equiv="X-UA-Compatible" content="chrome=1">
6
- <title>Tiles Demo</title>
7
- <script language="javascript">
8
- //modify path of entity.debug.js
9
- path = '../../';
10
- </script>
11
- <script src="../../lib/entity.debug.js" language="javascript"></script>
12
- <script src="tiles.js" language="javascript"></script>
13
-
14
- <link rel="stylesheet" type="text/css" href="../style/sheet.css" />
15
-
16
- </head>
17
-
18
- <body>
19
-
20
-
21
- <div class="container_24">
22
- <div id="content">
23
- <h1>Tiles Demo</h1>
24
-
25
- <div class="canvas-container">
26
- <canvas id="canvas" width="500" height="400"> </canvas>
27
- </div>
28
-
29
- <div class="grid_12">
30
- <h2 class="hd-left bg-yellow">Overview</h2>
31
- <p>
32
- Loads and renders a world from a tile array. View the <a href="tiles.js">source code</a> to see how easy it is to program.
33
- </p>
34
- </div>
35
-
36
- <div class="grid_12">
37
- <h2 class="hd-right bg-yellow">Controls</h2>
38
-
39
- <ul>
40
- <li>None</li>
41
-
42
- </ul>
43
-
44
- </div>
45
-
46
- <div class="clear"></div>
47
- </div>
48
-
49
-
50
-
51
- </div>
52
-
53
- </body>
54
-
55
-
56
- </html>
@@ -1,85 +0,0 @@
1
- /*
2
- This example creates a tile based world from a multi-dimensional array.
3
-
4
- Since tile-based games are popular some helper components have been
5
- created. The tile components helps with moving tiles and getting tile
6
- coordinates.
7
-
8
- The query system also has a nice method called map which loops
9
- through a two-dimensional array.
10
- */
11
-
12
- re.constants = {
13
- //enter in tiles from 0-3
14
- // 0 is water
15
- // 1 is wood wall
16
- // 2 is stone wall
17
- // 3 is grass
18
- map:
19
- [
20
- [2, 2, 2, 2, 2, 3, 3, 2, 2, 2],
21
- [3, 3, 0, 0, 0, 3, 3, 3, 3, 0],
22
- [3, 3, 3, 3, 3, 3, 2, 2, 0, 0],
23
- [3, 3, 0, 3, 3, 3, 3, 3, 0, 0],
24
- [2, 1, 3, 1, 3, 3, 3, 3, 3, 3]
25
- ],
26
-
27
- canvasId:'#canvas',
28
- tileSize:40,
29
- assets:'tiles.png'
30
- }
31
-
32
- re.ready(function(){
33
-
34
- re.sys.init(re.constants.canvasId).start();
35
-
36
- //setup tile size
37
- re.tile.sizeX = re.constants.tileSize;
38
- re.tile.sizeY = re.constants.tileSize;
39
-
40
- re.load(re.constants.assets)
41
- .complete(function(){
42
-
43
- //load world
44
- re.e('level')
45
- .load(re.constants.map);
46
-
47
- });
48
-
49
-
50
- });
51
-
52
- /*
53
- The level component loads and handles all tiles in the game.
54
- */
55
- re.c('level')
56
- .extend({
57
-
58
- //loads given tile map
59
- load:function(map){
60
-
61
- var totalTiles = map.length * map[0].length;
62
-
63
- //create tiles
64
- //second parameter defines how many entities to create. (default 1)
65
- //if count is higher than one it will return a query of all tiles
66
- this.tiles = re.e('sprite tile '+re.constants.assets, totalTiles)
67
- //returns entities as a two dimensional array
68
- //the first value is the width of the array
69
- .map(map[0].length, function(x, y){
70
-
71
- //remember to set the crop image size of tiles
72
- //or else nothing will appear
73
- this.sizeX = re.tile.sizeX;
74
- this.sizeY = re.tile.sizeY;
75
-
76
-
77
- this.setFrameId(map[y][x]);
78
-
79
- this.setTile(x, y);
80
-
81
- });
82
-
83
- }
84
-
85
- });
Binary file
data/lib/blank/config.js DELETED
@@ -1,4 +0,0 @@
1
- re.config = {
2
- version:'1.0',
3
- canvas:'#canvas'
4
- };
data/lib/blank/config.yml DELETED
@@ -1,21 +0,0 @@
1
- # Configure your game settings
2
-
3
- #project name
4
- name: mygame
5
-
6
- paths:
7
- images: assets/images
8
- sounds: assets/sounds
9
- levels: assets/levels
10
- src: src
11
- lib: lib
12
- test: tests
13
-
14
- #files to ignore in /src and entity/src
15
- #this is useful to ignore unused files
16
- ignore:
17
- socket
18
-
19
- #although all files are compiled its
20
- #useful to include dependent files first
21
- order:
data/lib/blank/home.js DELETED
@@ -1,11 +0,0 @@
1
- re.scene('home')
2
- .enter(function(){
3
-
4
- console.log('entering home scene. . .');
5
-
6
- })
7
- .exit(function(){
8
-
9
- console.log('exiting home scene. . .');
10
-
11
- })
data/lib/blank/init.js DELETED
@@ -1,7 +0,0 @@
1
- re.ready(function(){
2
-
3
- re.sys.init(re.config.canvas).start();
4
-
5
- re.scene('load');
6
-
7
- });
data/lib/blank/load.js DELETED
@@ -1,21 +0,0 @@
1
- re.scene('load')
2
- .enter(function(){
3
-
4
- re.load(re.images.concat(re.sounds))
5
- .complete(function(){
6
- console.log('finished loading...')
7
-
8
- //move to home
9
- re.scene('home');
10
- })
11
- .error(function(e){
12
- console.log('Error loading asset: '+e);
13
- })
14
- .progress(function(i){
15
- console.log('Finished loading: '+i);
16
- });
17
-
18
- })
19
- .exit(function(){
20
- //exit load scene
21
- })
data/lib/blank/play.html DELETED
@@ -1,29 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
-
4
- <head>
5
- <meta http-equiv="X-UA-Compatible" content="chrome=1">
6
-
7
- <title>Play</title>
8
-
9
- <script src="lib/entity.debug.js" language="javascript"></script>
10
-
11
- </head>
12
-
13
- <body>
14
-
15
-
16
- <div id="content">
17
- <h1>Play</h1>
18
-
19
- <div class="canvas-container">
20
- <canvas id="canvas" width="500" height="400"> </canvas>
21
- </div>
22
-
23
- </div>
24
-
25
-
26
- </body>
27
-
28
-
29
- </html>
data/lib/entity.debug.js DELETED
@@ -1,52 +0,0 @@
1
- /* EntityJS v0.2.2 http://entityjs.com | License http://entityjs.com/license */
2
- if(!path) path = '';
3
- document.write("<script src='"+path+"src/entityjs/core/re.js' language='javascript'><\/script>");
4
- document.write("<script src='"+path+"src/entityjs/core/component.js' language='javascript'><\/script>");
5
- document.write("<script src='"+path+"src/entityjs/core/entity.js' language='javascript'><\/script>");
6
- document.write("<script src='"+path+"src/entityjs/core/load.js' language='javascript'><\/script>");
7
- document.write("<script src='"+path+"src/entityjs/core/query.js' language='javascript'><\/script>");
8
- document.write("<script src='"+path+"src/entityjs/core/system.js' language='javascript'><\/script>");
9
- document.write("<script src='"+path+"src/entityjs/cycle/draw.js' language='javascript'><\/script>");
10
- document.write("<script src='"+path+"src/entityjs/cycle/ticker.js' language='javascript'><\/script>");
11
- document.write("<script src='"+path+"src/entityjs/cycle/tween.js' language='javascript'><\/script>");
12
- document.write("<script src='"+path+"src/entityjs/cycle/update.js' language='javascript'><\/script>");
13
- document.write("<script src='"+path+"src/entityjs/cycle/wait.js' language='javascript'><\/script>");
14
- document.write("<script src='"+path+"src/entityjs/cycle/worker.js' language='javascript'><\/script>");
15
- document.write("<script src='"+path+"src/entityjs/display/anchor.js' language='javascript'><\/script>");
16
- document.write("<script src='"+path+"src/entityjs/display/bitfont.js' language='javascript'><\/script>");
17
- document.write("<script src='"+path+"src/entityjs/display/bitmap.js' language='javascript'><\/script>");
18
- document.write("<script src='"+path+"src/entityjs/display/circle.js' language='javascript'><\/script>");
19
- document.write("<script src='"+path+"src/entityjs/display/font.js' language='javascript'><\/script>");
20
- document.write("<script src='"+path+"src/entityjs/display/group.js' language='javascript'><\/script>");
21
- document.write("<script src='"+path+"src/entityjs/display/rect.js' language='javascript'><\/script>");
22
- document.write("<script src='"+path+"src/entityjs/display/screen.js' language='javascript'><\/script>");
23
- document.write("<script src='"+path+"src/entityjs/display/sprite.js' language='javascript'><\/script>");
24
- document.write("<script src='"+path+"src/entityjs/input/keyboard.js' language='javascript'><\/script>");
25
- document.write("<script src='"+path+"src/entityjs/input/mouse.js' language='javascript'><\/script>");
26
- document.write("<script src='"+path+"src/entityjs/input/pressed.js' language='javascript'><\/script>");
27
- document.write("<script src='"+path+"src/entityjs/input/touch.js' language='javascript'><\/script>");
28
- document.write("<script src='"+path+"src/entityjs/math/bind.js' language='javascript'><\/script>");
29
- document.write("<script src='"+path+"src/entityjs/math/bisect.js' language='javascript'><\/script>");
30
- document.write("<script src='"+path+"src/entityjs/math/body.js' language='javascript'><\/script>");
31
- document.write("<script src='"+path+"src/entityjs/math/drag.js' language='javascript'><\/script>");
32
- document.write("<script src='"+path+"src/entityjs/math/hitmap.js' language='javascript'><\/script>");
33
- document.write("<script src='"+path+"src/entityjs/math/hittest.js' language='javascript'><\/script>");
34
- document.write("<script src='"+path+"src/entityjs/math/physics.js' language='javascript'><\/script>");
35
- document.write("<script src='"+path+"src/entityjs/math/point.js' language='javascript'><\/script>");
36
- document.write("<script src='"+path+"src/entityjs/math/tile.js' language='javascript'><\/script>");
37
- document.write("<script src='"+path+"src/entityjs/media/channel.js' language='javascript'><\/script>");
38
- document.write("<script src='"+path+"src/entityjs/media/playlist.js' language='javascript'><\/script>");
39
- document.write("<script src='"+path+"src/entityjs/media/sound.js' language='javascript'><\/script>");
40
- document.write("<script src='"+path+"src/entityjs/pattern/arraymap.js' language='javascript'><\/script>");
41
- document.write("<script src='"+path+"src/entityjs/pattern/flicker.js' language='javascript'><\/script>");
42
- document.write("<script src='"+path+"src/entityjs/pattern/timestep.js' language='javascript'><\/script>");
43
- document.write("<script src='"+path+"src/entityjs/save/database.js' language='javascript'><\/script>");
44
- document.write("<script src='"+path+"src/entityjs/save/storage.js' language='javascript'><\/script>");
45
- document.write("<script src='"+path+"src/entityjs/util/log.js' language='javascript'><\/script>");
46
- document.write("<script src='"+path+"src/entityjs/util/polyfill.js' language='javascript'><\/script>");
47
- document.write("<script src='"+path+"src/entityjs/util/random.js' language='javascript'><\/script>");
48
- document.write("<script src='"+path+"src/entityjs/util/scene.js' language='javascript'><\/script>");
49
- document.write("<script src='"+path+"src/entityjs/util/sheet.js' language='javascript'><\/script>");
50
- document.write("<script src='"+path+"src/entityjs/util/support.js' language='javascript'><\/script>");
51
-
52
- window.onload = function(){ re.version = '0.2.2'; }
data/lib/entity.min.js DELETED
@@ -1,184 +0,0 @@
1
- /* EntityJS v0.2.2 http://entityjs.com | License http://entityjs.com/license */
2
- re=function(selector){return new re.query(selector);};re.version="0.2.2";re._e=[];re._c={};re.ready=function(r){re.ready.c.push(r);window.onload=function(){for(var k in re.ready.c){re.ready.c[k].call(re);}};};re.ready.c=[];re.$=function(s){return re.$.c[s]=re.$.c[s]||(s.charAt(0)=='#')?document.getElementById(s.substr(1)):document.getElementsByTagName(s);};re.$.c={};re.$new=function(n){return document.createElement(n);};re.listener=function(t,c){if(window.addEventListener){window.addEventListener(t,c,true);}else{document.attachEvent('on'+t,c);}};Function.prototype.context=function(c){var that=this;return function(){return that.apply(c,arguments);};};if(!Array.prototype.indexOf){Array.prototype.indexOf=function(o){for(var i=0;i<this.length;i++){if(this[i]==o){return i;}}
3
- return-1;}}
4
- var __z=function(n,r){this._checkFinal();if(!this[n]){this[n]=[];}
5
- if(typeof r=='string'){this[n]=this[n].concat(r.split(' '));}else{this[n]=this[n].concat(r);}
6
- return this;};re.comp=re.c=function(title){if(!re._c[title]){re._c[title]=new re.comp.init(title);}
7
- return re._c[title];};re.comp.init=function(name){this.name=name;this._re_signals={};this._re_inherits={};this._re_extends={};this._re_final=false;};re.comp.init.prototype={_checkFinal:function(){if(this._re_final){throw this.name+' is final.';}},global:function(obj,value){this._checkFinal();if(arguments.length==1){for(var type in obj){this[type]=obj[type];}}else{this[obj]=value;}
8
- return this;},require:function(r){return __z.call(this,'_re_requires',r);},assert:function(r){return __z.call(this,'_re_asserts',r);},implement:function(r){return __z.call(this,'_re_implments',r);},alias:function(s){this._checkFinal();var p=s.split(' ');if(p.length>1){for(var i in p){this.alias(p[i]);}
9
- return this;}
10
- if(s.charAt(0)=='-'){if(re._c[s.substr(1)]==this){delete re._c[s.substr(1)];}}else{re._c[s]=this;}
11
- return this;},addSignal:function(){return re.e.init.prototype.addSignal.apply(this,arguments);},removeSignal:function(){return re.e.init.prototype.removeSignal.apply(this,arguments);},signal:function(){return re.e.init.prototype.signal.apply(this,arguments);},inherit:function(d,value){this._checkFinal();if(arguments.length==1){for(var k in d){this._re_inherits[k]=d[k];}}else{this._re_inherits[d]=value;}
12
- return this;},namespace:function(obj,value){this._checkFinal();var name=this.name+'_';if(arguments.length==1){for(var k in obj){this._re_extends[name+k]=obj[k];}}else{this._re_extends[name+obj]=value;}
13
- return this;},extend:function(d,value){this._checkFinal();if(!this._re_extends){this._re_extends={};}
14
- if(arguments.length==1){for(var k in d){this._re_extends[k]=d[k];}}else{this._re_extends[d]=value;}
15
- return this;},init:function(method){this._checkFinal();this._re_init=method;return this;},dispose:function(method){this._checkFinal();this._re_dispose=method;return this;},lock:function(){this._checkFinal();this._re_final=true;return this;},run:function(method){this._checkFinal();method.call(this);return this;}};(function(re){var q=function(c,count){if(!count){return new re.entity.init(c);}
16
- var q=re();for(var i=0;i<count;i++){q._e.push(re.e(c));}
17
- return q;};q.id=0;var e=function(c){this._re_comps=[];this._re_signals={};this.id=q.id+'';q.id++;re._e.push(this);this.addComp(c);};var p=e.prototype;p.id='';p.addComp=function(com){this._re_comp(com);if(this._re_interface){for(var i in this._re_interface){if(!this.hasOwnProperty(this._re_interface[i])){throw'implementation: '+this._re_interface[i]+' missing';}}}
18
- if(this._re_asserts){for(var t in this._re_asserts){if(this._re_comps.indexOf(c._re_asserts[t])!=-1){throw'assert: '+c.name+' cannot be coupled with '+c._re_asserts[t];}}}
19
- return this;};p.removeComp=function(com){var pieces;if(typeof com=='object'){pieces=com;com=com[0];}else{pieces=com.split(' ');}
20
- if(pieces.length>1){for(var k in pieces){this._re_comp(pieces[k]);}
21
- return this;}
22
- var c=re._c[com];if(!this.has(com))return this;this._re_comps.splice(this._re_comps.indexOf(com),1);if(c){if(c._re_dispose){c._re_dispose.call(this,c);}
23
- c.signal('dispose',this);}};p._re_comp=function(com){if(!com)return this;var pieces;if(typeof com=='object'){pieces=com;com=com[0];}else{pieces=com.split(' ');}
24
- if(pieces.length>1){for(var k in pieces){this._re_comp(pieces[k]);}
25
- return this;}
26
- var c;var vals=com.split(':');com=vals[0];c=re._c[com];vals[0]=c;if(this.has(com))return this;this._re_comps.push(com);if(c){this._re_comp(c._re_requires);if(c._re_implements){if(!this._re_implements){this._re_implements=[];}
27
- this._re_implements=this._re_implements.concat(c._re_implements);}
28
- if(c._re_asserts){if(!this._re_asserts){this._re_asserts=[];}
29
- this._re_asserts=this._re_asserts.concat(c._re_asserts);}
30
- if(c._re_inherits){this.inherit(c._re_inherits);}
31
- if(c._re_extends){this.extend(c._re_extends);}
32
- if(c._re_init){c._re_init.apply(this,vals);}
33
- c.signal('init',this);}
34
- return this;}
35
- p.getComps=function(){return this._re_comps.slice();}
36
- p.clone=function(count){return re.e(this._re_comps,count);}
37
- p.parent=function(comp,method){var a=Array.prototype.slice.call(arguments,2);if(comp==''){re.e.init[method].apply(this,a);}
38
- var c=re._c[comp];if(c._re_extends[method]){return c._re_extends[method].apply(this,a);}
39
- if(c._re_inherits[method]){return c._re_inherits[method].apply(this,a);}
40
- return this;}
41
- p.has=function(comp){if(typeof comp=='string'){comp=re.query._toObj(comp);}
42
- comp.comp=comp.comp||[];comp.id=comp.id||'';comp.signal=comp.signal||[];comp.not=comp.not||[];for(p=0;p<comp.comp.length;p++){if(this._re_comps.indexOf(comp.comp[p])==-1){return false;}}
43
- for(p=0;p<comp.not.length;p++){if(this._re_comps.indexOf(comp.not[p])!=-1){return false;}}
44
- var s;for(p=0;p<comp.signal.length;p++){s=comp.signal[p];if(!this._re_signals[s]||this._re_signals[s].length==0){return false;}}
45
- if(comp.id!=''&&this.id!=comp.id){return false;}
46
- return true;};p.addSignal=function(type,method){if(typeof type=='object'){for(var k in type){this.addSignal(k,type[k]);}}else{if(!this._re_signals[type]){this._re_signals[type]=[];}
47
- this._re_signals[type].push(method);}
48
- return this;};p.removeSignal=function(type,method){if(typeof type=='object'){for(var k in type){this.removeSignal(k,type[k]);}}else{if(typeof method=='function'){for(var k in this._re_signals[type]){if(this._re_signals[type][k]==method){this._re_signals[type].splice(k,1);}}}else{this._re_signals[type]=[];}}
49
- return this;};p.signal=function(type){if(!this._re_signals[type])return this;var b;for(var i=0,l=this._re_signals[type].length;i<l;i++){b=this._re_signals[type];if(!b[i])continue;if(b[i].apply((b[i].c)?b[i].c:this,Array.prototype.slice.call(arguments,1))===false){b.splice(i,1);}}
50
- return this;};p.extend=function(obj,value){var a=typeof obj;if(a=='object'){for(var key in obj){if(!obj.hasOwnProperty(key))continue;this.extend(key,obj[key]);}}else{this[obj]=value;}
51
- return this;}
52
- p.inherit=function(obj,value){if(typeof obj=='object'){for(var key in obj){if(!obj.hasOwnProperty(key))continue;this.inherit(key,obj[key]);}}else{if(!this.hasOwnProperty(obj)||typeof this[obj]!=typeof value){this[obj]=value;}}
53
- return this;}
54
- p.dispose=function(){re._e.splice(re._e.indexOf(this),1);for(var i in this._re_comps){var k=re.c(this._re_comps[i]);if(k._re_dispose){k._re_dispose.call(this,k);}
55
- k.signal('dispose',this);}
56
- this.signal('dispose');return this;}
57
- re.entity=re.e=q;re.entity.init=e;}(re));(function(re){var b=function(assets){return new re.load.init(assets);}
58
- b.path="";b.imageExt='img';b.soundExt='sfx';b.images=['gif','jpg','jpeg','png'];b.sounds=['wav','mp3','aac','ogg'];var l=function(assets){if(typeof assets=='string'){this.assets=assets.split(' ');}else{this.assets=assets;}
59
- var a;for(var i=0;i<this.assets.length;i++){this.total++;a=this.assets[i];var j=a.lastIndexOf('.')+1;var ext=a.substr(j).toLowerCase();var s=a;var d=a.lastIndexOf('/');if(d!=-1){a=a.substr(d+1,a.length);}
60
- var n=a.substr(0,j);if(re.load.images.indexOf(ext)!=-1){this._loadImg(s,a,n);}else if(re.load.sounds.indexOf(ext)!=-1){if(!re.support||re.support(ext)){this._loadSound(s,a,n);}}}
61
- return this;}
62
- var p=l.prototype;p.current=0;p.total=0;p._loadImg=function(src,a,n){var that=this;var img=new Image();re.c(a).alias(n+re.load.imgExt).global({bitmap:img}).extend({bitmap:img});img.onload=function(){re.c(a).extend({bisect:img.width,sizeX:img.width,sizeY:img.height});that.current++;if(that._p){that._p.call(that,that.current,that.total,a);}
63
- if(that.current>=that.total){if(that._s){that._s.call(that,that.assets);}}};img.onerror=function(){if(that._e){that._e.call(that,a);}};img.src=re.load.path+src;return this;}
64
- p._loadSound=function(src,a,n){var that=this;var s=new Audio(re.load.path+src);s.preload="auto";s.load();re.c(a).alias(n+re.load.soundExt).global({sound:s}).extend({sound:s});s.addEventListener('canplaythrough',function(){that.current++;if(that._p){that._p.call(that,that.current,that.total,a);}
65
- if(that.current>=that.total){if(that._s){that._s.call(that,that.assets);}}},false);s.addEventListener('error',function(){if(that._e){that._e.call(that,a);}},false);}
66
- p.progress=function(m){this._p=m;return this;}
67
- p.complete=function(m){this._s=m;return this;}
68
- p.error=function(m){this._e=m;return this;}
69
- re.load=b;re.load.init=l;}(re));(function(re){var q=function(selector){this._e=[];if(selector){this.query(selector);}}
70
- q._toObj=function(query){if(q.c[query]){return q.c[query];}
71
- var temp=query.split(' ');var comps=[];var signals=[];var minus=[];var id='';var fl;var val;for(var j=0;j<temp.length;j++){fl=temp[j].charAt(0);val=temp[j].substr(1);if(fl=='^'){signals.push(val);}else if(fl=='-'){minus.push(val);}else if(fl=='#'){id=val;}else{comps.push(temp[j]);}}
72
- var comp={comp:comps,signal:signals,not:minus,id:id};q.c[query]=comp;return comp;}
73
- q.c={};var p=q.prototype;p.query=function(select){select=select||'';var i=0;if(typeof select=='string'){if(select=='*'){this._e=re._e.slice();return this;}
74
- var obj=q._toObj(select);var en;main:for(;i<re._e.length;i++){en=re._e[i];if(en.has(obj)){this._e.push(en);}}}else if(typeof select=='function'){for(;i<re._e.length;i++){if(select.call(re._e[i],i,re._e.length)){this._e.push(re._e[i]);}}}
75
- return this;}
76
- p.toArray=function(){return this._e.slice();}
77
- p.method=function(m){var b=Array.prototype.slice.call(arguments,1);this.each(function(){this[m].apply(this,b);});return this;}
78
- p.each=function(m){var l=this._e.length,i=-1,e;while(++i<l&&(e=this._e[i])&&m.call(e,i,l)!==false);return this;}
79
- p.map=function(w,method){var x=0;var y=0;for(var i=0,l=this._e.length;i<l;i++){if(method.call(this._e[i],x,y,i,l)==false)break;x++;if(x==w){x=0;y++;}}}
80
- p.getComps=function(){var l=[];this.each(function(){l.concat(this.getComps());});return l;}
81
- p.random=function(){return this._e[~~(Math.random()*this._e.length)];}
82
- p.pluck=function(value){var t=[];var k=value.split(' ');this.each(function(){var o={};for(var p in k){if(k.hasOwnProperty(p)){o[k[p]]=this[k[p]];}}
83
- t.push(o);});return t;}
84
- p.extend=function(obj,value){this.each(function(){this.extend(obj,value);});return this;}
85
- p.inherit=function(obj,value){this.each(function(){this.inherit(obj,value);});return this;}
86
- p.addComp=function(c){this.each(function(ref){this.addComp(c);});return this;}
87
- p.removeComp=function(c){this.each(function(ref){this.removeComp(c);});}
88
- p.signal=function(type,method){var p=arguments;this.each(function(ref){this.signal.apply(this,p);});return this;}
89
- p.length=function(){return this._e.length;}
90
- p.filter=function(method){var q=re();var that=this;this.each(function(i,l){if(method.call(this,i,l)){q.push(this);}});return q;}
91
- p.has=function(comp){for(var i=0;i<this._e.length;i++){if(!this._e.has(comp)){return false;}}
92
- return this;}
93
- p.dispose=function(){this.each(function(){this.dispose();});return this;}
94
- p.get=function(index){return this._e[index];}
95
- p.put=function(entity){this._e.push(entity);return this;}
96
- re.query=q;}(re));re.c('system').inherit({contextType:'2d',clearColor:'#f9f9f9',stepSize:0.03,running:false,sizeX:0,sizeY:0}).extend({clear:function(color){if(color){this.context.fillStyle=color;this.context.fillRect(0,0,this.sizeX,this.sizeY);}else{this.context.clearRect(0,0,this.sizeX,this.sizeY);}
97
- return this;},start:function(){if(!this.running){this.running=true;var that=this;(function mainLoop(){that.system_loop.call(that);if(that.running){that.requestAnimationFrame(mainLoop,that.canvas);}})();}
98
- return this;},loop:function(m){this.system_loop=m;return this;},stop:function(){this.running=false;return this;},init:function(canvasId,screen,contextType){this.addComp('polyfill ticker timestep');this.canvas=re.$(canvasId);this.contextType=contextType||this.contextType;this.context=this.canvas.getContext(this.contextType);this.sizeX=this.canvas.width;this.sizeY=this.canvas.height;screen=screen||re.screen;if(screen){screen.sizeX=this.sizeX;screen.sizeY=this.sizeY;screen.regX=this.sizeX*0.5;screen.regY=this.sizeY*0.5;}
99
- return this;},system_loop:function(){this.timestep(this.tick(),function(){re._c.update.update.call(re._c.update,this,this.stepSize);});this.clear(this.clearColor);re._c.draw.draw.call(re._c.draw,this);}}).run(function(){re.system=re.sys=re.e('system');});re.c('draw').global({listeners:[],draw:function(s){var l=this.listeners;for(var k=0,le=l.length,b;k<le;++k){b=l[k];if(b&&b.sys==s&&b.drawing&&b.isVisible()){b.draw_render(s.context);}}}}).implement('draw').init(function(c){c.listeners.push(this);this.screen=re.screen;}).dispose(function(c){c.listeners.splice(c.listeners.indexOf(this),1);}).inherit({sys:re.sys,drawing:true,rotation:0,alpha:1,scaleX:1,scaleY:1,posX:0,posY:0,sizeX:1,sizeY:1,regX:0,regY:0}).extend({cache:function(){if(!this.image)return this;this.clearCache();var c=re.$new('canvas');var s=Math.max(this.image.width,this.image.height);c.width=s;c.height=s;this.draw_render(c.getContext(re.sys.contextType));this.canvasCache=c;return this;},clearCache:function(){this.canvasCache=null;},drawFirst:function(){var l=re.c('draw').listeners;l.splice(l.indexOf(this),1);l.unshift(this);return this;},drawLast:function(){var l=re.c('draw').listeners;l.splice(l.indexOf(this),1);l.push(this);return this;},drawAfter:function(en){var l=re.c('draw').listeners;var him=l.indexOf(en);var me=l.indexOf(this);if(him>me){var t=l[him];l[him]=l[me];l[me]=t;}
100
- return this;},drawBefore:function(en){var l=re.c('draw').listeners;var him=l.indexOf(en);var me=l.indexOf(this);if(him<me){var t=l[him];l[him]=l[me];l[me]=t;}
101
- return this;},getScreenX:function(){var x=this.posX;if(this.screen)x-=this.screen.posX;return x;},getScreenY:function(){var y=this.posY;if(this.screen)y-=this.screen.posY;return y;},isVisible:function(){return(!this.screen||this.screen.touches(this.posX-this.regX,this.posY-this.regY,this.sizeX,this.sizeY));}}).namespace({render:function(c){if(!c)c=this.sys.context;this.draw_before(c);this.draw(c);this.draw_after(c);},before:function(c){c.save();if(this.alpha!=1)
102
- c.globalAlpha=this.alpha;c.translate(this.getScreenX(),this.getScreenY());if(this.rotation!=0)
103
- c.rotate(this.rotation*Math.PI/180);if(this.scaleX!=1||this.scaleY!=1)
104
- c.scale(this.scaleX,this.scaleY);},after:function(c){c.restore();}});re.c('ticker').inherit({time:0,maxTick:0.05}).init(function(){this.lastTime=Date.now();}).extend({tick:function(){var wall=Date.now();var delta=(wall-this.lastTime)/1000;this.lastTime=wall;var timeDelta=Math.min(delta,this.maxTick);this.time+=timeDelta;return timeDelta;}});re.c('tween').require('update').global({tween:function(obj,time,props){return obj.comp('tween').tween(time,props);}}).namespace({update:function(t){}}).inherit({tweening:false}).extend({tween:function(time,props){this.time=time||5;if(this.tweening){this.removeSignal('update',this.tween_update);}
105
- for(var i in props){if(!props.hasOwnProperty(i))continue;this.tween_props[i]={s:re.sys.stepSize,i:props[i]};}
106
- return this;}}).init(function(){this.tween_props={};});re.tween=re.c('tween').tween;re.c('update').global({listeners:[],update:function(s,t){var l=this.listeners;for(var k=0,le=l.length,b;k<le;++k){b=l[k];if(b&&b.sys==s&&b.updating){b.signal('update',t,s.time);}}}}).inherit({updating:true,sys:re.sys}).extend(function(){var l=re.c('update').listeners;return{updateFirst:function(){l.splice(l.indexOf(this),1);l.unshift(this);return this;},updateLast:function(){l.splice(l.indexOf(this),1);l.push(l);return this;},updateAfter:function(e){var him=l.indexOf(e);var me=l.indexOf(this);if(him>me){var t=l[him];l[him]=l[me];l[me]=t;}
107
- return this;},updateBefore:function(e){var him=l.indexOf(e);var me=l.indexOf(this);if(him<me){var t=l[him];l[him]=l[me];l[me]=t;}
108
- return this;}};}()).init(function(c){c.listeners.push(this);}).dispose(function(c){c.listeners.splice(c.listeners.indexOf(this),1);});re.c('wait').require('update').extend({wait:function(time,callback){var c=0;this.addSignal('update',function(t){c+=t;if(c>=time){this.callback.apply(this,Array.prototype.slice.call(arguments,2));return false;}});}});re.c('anchor').extend({centerX:function(o){o=o||0;this.posX=Math.floor(re.sys.sizeX*0.5-this.sizeX*0.5+o);return this;},centerY:function(o){o=o||0;this.posY=Math.floor(re.sys.sizeY*0.5-this.sizeY*0.5+o);return this;},right:function(x){x=x||0;this.posX=Math.floor(re.sys.sizeX-this.sizeX+x);return this;},left:function(x){x=x||0;this.posX=Math.floor(x);return this;},top:function(y){y=y||0;this.posY=Math.floor(y);return this;},bottom:function(y){y=y||0;this.posY=Math.floor(re.sys.sizeY-this.sizeY+y);return this;}}).inherit({sizeX:0,sizeY:0,posX:0,posY:0});re.c('bitfont').require('draw').inherit({text:'',charOffset:32}).extend({isVisible:function(){return this.text.length!=0&&this.bitmap&&this.parent('draw','isVisible');},draw:function(c){var slot=0,charWidth,code,charPos;for(var i=0,l=this.text.length;i<l;++i){code=this.text.charCodeAt(i)-this.charOffset;charWidth=this.charWidths[code];if(!this.charCache[code]){charPos=0;for(var p=0;p<code;++p){charPos+=this.charWidths[p]+1;}
109
- this.charCache[code]=charPos;}
110
- c.drawImage(this.bitmap,this.charCache[code],0,charWidth,this.bitmap.height,-this.regX+slot,-this.regY,charWidth,this.bitmap.height);slot+=charWidth;}
111
- this.sizeX=slot;this.sizeY=this.bitmap.height;},updateSize:function(){var t=0;for(var p=0;p<this.text.length;p++){t+=this.charWidths[p];}
112
- this.sizeX=t;if(this.bitmap){this.sizeY=this.bitmap.height;}else{this.sizeY=0;}
113
- return this;},setText:function(text){this.text=text;this.updateSize();return this;}}).init(function(){if(!this.charCache){this.charCache={};}
114
- this.updateSize();});re.c('bitmap').require('draw').extend({setBitmap:function(b){this.bitmap=b;if(b){this.sizeX=b.width;this.sizeY=b.height;}
115
- return this;},isVisible:function(){return this.bitmap&&this.parent('draw','isVisible');},draw:function(c){c.drawImage(this.bitmap,-this.regX,-this.regY,this.sizeX,this.sizeY);return this;}}).init(function(){if(this.bitmap){this.setBitmap(this.bitmap);}});re.c('circle').require('draw').inherit({color:'#82d5f4'}).extend({draw:function(c){c.fillStyle=this.color;c.beginPath();c.arc(-this.regX,-this.regY,this.sizeX,0,Math.PI*2,true);c.closePath();c.fill();},setRadius:function(r){this.sizeX=this.sizeY=r;return this;}});re.c('font').require('draw').inherit({font:"14px sans-serif",textColor:'#000000',textAlign:'',text:''}).extend({isVisible:function(){return this.text.length!=0;},setText:function(t){this.text=t;return this;},draw:function(c){c.font=this.font;c.fillStyle=this.textColor;c.fillText(this.text,-this.regX,-this.regY);}});re.c('group').inherit({posX:0,posY:0}).extend({group:function(){for(var i=0;i<arguments.length;i++){arguments[i].comp('group').group}},ungroup:function(e){},getScreenX:function(){var x=this.posX;if(this.group)x+=this.group.posX;if(this.screen)x+=this.screen.posX;return x;},getScreenY:function(){var y=this.posY;if(this.group)y+=this.group.posY;if(this.screen)y+=this.screen.posY;return y;},getGroupX:function(){var x=this.posX;if(this.group){x+=this.group.posX;}
116
- return x;},getGroupY:function(){var y=this.posY;if(this.group){y+=this.group.posY;}
117
- return y;},setGroupX:function(x){},setGroupY:function(y){}});re.c('rect').require('draw').inherit({color:'#82d5f4'}).extend({draw:function(c){c.fillStyle=this.color;c.fillRect(-this.regX,-this.regY,this.sizeX,this.sizeY);}});re.c('screen').require('hittest').extend({setPos:function(x,y){if(arguments.length==1){y=x.posY;x=x.posX;}
118
- this.posX=x-this.regX;this.posY=y-this.regY;return this;},toScreenX:function(x){return x+this.posX+this.offX;},toScreenY:function(y){return y+this.posY+this.offY;}}).inherit({posX:0,posY:0,regX:0,regY:0,sizeX:0,sizeY:0,offX:0,offY:0});re.c('sprite').require('bitmap bisect').inherit({frameX:0,frameY:0}).extend({setFrameId:function(id){this.frameX=this.biToXt(id);this.frameY=this.biToYt(id);return this;},getFrameId:function(){return this.toBi(this.frameX,this.frameY);},draw:function(c){c.drawImage(this.bitmap,this.frameX*this.sizeX,this.frameY*this.sizeY,this.sizeX,this.sizeY,-this.regX,-this.regY,this.sizeX,this.sizeY);return this;},flick:function(c){this.setFrameId(c);}});re.c('keyboard').global({listeners:[],keyCodes:{65:'a',66:'b',67:'c',68:'d',69:'e',70:'f',71:'g',72:'h',73:'i',74:'j',75:'k',76:'l',77:'m',78:'n',79:'o',80:'p',81:'q',82:'r',83:'s',84:'t',85:'u',86:'v',87:'w',88:'x',89:'y',90:'z',48:'0',49:'1',50:'2',51:'3',52:'4',53:'5',54:'6',55:'7',56:'8',57:'9',112:'f1',113:'f2',114:'f3',115:'f4',116:'f5',117:'f6',118:'f7',119:'f8',120:'f9',121:'f10',122:'f11',123:'f12',16:'shift',17:'ctrl',18:'alt',24:'cmd',255:'fn',8:'backspace',13:'enter',32:'space',27:'esc',9:'tab',20:'capslock',91:'windows',46:'delete',36:'home',35:'end',33:'pageup',34:'pagedown',37:'left',38:'up',39:'right',40:'down',96:'`',45:'-',187:'=',219:'[',221:']',220:'\\',59:';',222:"'",188:',',190:'.',191:'/'},keyboardEvent:function(e){var that=re.c('keyboard');if(that.body!=document.activeElement){return;}
119
- var c=e.keyCode||e.which;var key=that.keyCodes[c];if(re.c('pressed').preventDefault&&re.c('pressed').preventDefault[key]){if(e.preventDefault)
120
- e.preventDefault();else
121
- e.returnValue=false;}
122
- if(re.c('pressed')._pressed){re.c('pressed')._pressed[key]=(e.type=='keydown');}
123
- for(var k=0;k<that.listeners.length;k++){that.listeners[k].signal(e.type,key,e).signal(e.type+':'+key,key,e);}},active:false,initListeners:function(){if(!this.active){this.active=true;re.listener('keydown',this.keyboardEvent,false);re.listener('keyup',this.keyboardEvent,false);this.body=re.$('body')[0];}}}).init(function(c){c.initListeners();c.listeners.push(this);}).dispose(function(c){c.listeners.splice(c.listeners.indexOf(this),1);});re.c('mouse').global({listeners:[],mouseAction:function(e){var b;if(e.which==null){if(e.button<2){b='left';}else if(e.button==4){b='middle';}else{b='right';}}else{if(e.which<2){b='left';}else if(e.which==2){b='middle';}else{b='right';}}
124
- b='mouse:'+b;if(re.c('pressed')._pressed){re.c('pressed')._pressed[b]=(e.type=='mousedown');}
125
- var c=false;if(re.c('pressed').preventDefault){if(re.c('pressed').preventDefault[b]){if(e.preventDefault)
126
- e.preventDefault();else
127
- e.returnValue=false;c=true;}}
128
- re.c('mouse').mouseEvent(e);if(c)return false;},mouseEvent:function(e){var x;var y;if(e.pageX||e.pageY){x=e.pageX;y=e.pageY;}else{x=e.clientX+document.body.scrollLeft+document.documentElement.scrollLeft;y=e.clientY+document.body.scrollTop+document.documentElement.scrollTop;}
129
- if(re.sys.canvas){x-=re.sys.canvas.offsetLeft;y-=re.sys.canvas.offsetTop;}
130
- if(x<0||y<0||y>re.sys.sizeY||x>re.sys.sizeX){return;}
131
- var that=re.c('mouse');var c,t,sx,sy;for(var i=0,l=that.listeners.length;i<l;i++){t=that.listeners[i];if(t.toScreen&&t.screen){sx=t.screen.toScreenX(x);sy=t.screen.toScreenY(y);}else{sx=x;sy=y;}
132
- t.signal(e.type,sx,sy,e);}},active:false,initListeners:function(){if(!this.active){this.active=true;re.listener('mousedown',this.mouseAction,false);re.listener('mouseup',this.mouseAction,false);re.listener('mousemove',this.mouseEvent,false);re.listener('click',this.mouseEvent,false);re.listener('dblclick',this.mouseEvent,false);re.listener('contextmenu',this.mouseEvent,false);}}}).inherit({toScreen:false}).init(function(c){c.initListeners();c.listeners.push(this);}).dispose(function(c){c.listeners.splice(c.listeners.indexOf(this),1);});re.c('pressed').global({_pressed:{},preventDefault:{}}).extend({pressed:function(){return re.pressed.apply(this,arguments);},preventDefault:function(){re.preventDefault.apply(this,arguments);return this;}}).init(function(){re._c.keyboard.initListeners();re._c.mouse.initListeners();re._c.touch.initListeners();});re.pressed=function(key){var that=re.c('pressed');var c=arguments;if(typeof key=='object')c=key;for(var i=0;i<c.length;i++){if(that._pressed[c[i]]){return true;}}
133
- return false;};re.preventDefault=function(key){var p=key.split(' ');if(p.length>1){for(var k in p){this.preventDefault(p[k]);}
134
- return this;}
135
- re.c('pressed').preventDefault[key]=true;return this;};re.c('touch').global({touchEvent:function(e){},active:false,initListeners:function(){if(!this.active){this.active=true;re.listener('touchstart',this.touchEvent,false);re.listener('touchmove',this.touchEvent,false);re.listener('touchend',this.touchEvent,false);}}}).init(function(c){c.initListeners();});re.c('bind').require('update').namespace({update:function(){if(!this.bind)return;if(this.posX<this.bindMinX){this.posX=this.bindMinX;}else if(this.posX>this.bindMaxX){this.posX=this.bindMaxX;}
136
- if(this.posY<this.bindMinY){this.posY=this.bindMinY;}else if(this.posY>this.bindMaxY){this.posY=this.bindMaxY;}}}).inherit({posX:0,posY:0,bindMinX:0,bindMinY:0,bindMaxX:10,bindMaxY:10,bind:true}).extend({setBind:function(minx,miny,maxx,maxy){this.bindMinX=minx;this.bindMinY=miny;this.bindMaxX=maxx;this.bindMaxY=maxy;return this;}}).init(function(){this.addSignal('update',this.bind_update);}).dispose(function(){this.removeSignal('update',this.bind_update);});re.bisect=re.c('bisect').global({biToX:function(bi,width,size){return this.biToXt(bi,width)*size;},biToY:function(bi,width,size){return this.biToYt(bi,width)*size;},biToXt:function(bi,width,size){return Math.floor(bi%(width/size));},biToYt:function(bi,width,size){return Math.floor((bi*size)/(width-0.1));},toBi:function(xt,yt,w,s){return(xt+(yt*(w/s)))/s;}}).extend({biToX:function(bi){return this.biToXt(bi,this.bisect)*this.sizeX;},biToY:function(bi){return this.biToYt(bi,this.bisect)*this.sizeY;},biToXt:function(bi){return Math.floor(bi%(this.bisect/this.sizeX));},biToYt:function(bi){return Math.floor((bi*this.sizeY)/(this.bisect-0.1));},toBi:function(xt,yt){return(xt+(yt*(this.bisect/this.sizeX)))/this.sizeX;}}).inherit({bisect:1,sizeX:1,sizeY:1});re.c('body').extend({touches:function(x,y,w,h){return!(x>this.posX+this.bodX-this.padX||x+w<this.posX+this.padX||y>this.posY+this.bodY-this.padY||y+h<this.posY+this.padY);},touchesBody:function(x,y,bx,by,px,py){return!(x+px>this.posX+this.bodX+this.padX||x+bx-px<this.posX+this.padX||y+py>this.posY+this.bodY-this.padY||y+by-py<this.posY+this.padY);}}).inherit({padX:0,padY:0,bodX:1,bodY:1});re.c('drag').inherit({posX:0,posY:0,dragX:0,dragY:0,dragging:false}).extend({startDrag:function(x,y){if(!this.dragging){this.dragging=true;this.dragX=x;this.dragY=y;}},endDrag:function(){this.dragging=false;},updateDrag:function(x,y){if(this.dragging){this.posX+=x-this.dragX;this.posY+=y-this.dragY;this.dragX=x;this.dragY=y;}}});re.c('hitmap').require('arraymap').extend({hitValue:1,checkAxisX:function(value,x,y,vx,vy){return value==this.hitValue;},checkAxisY:function(value,x,y,vx,vy){return value==this.hitValue;},checkHit:function(posX,posY,velX,velY,bodX,bodY,padX,padY){if(arguments.length==1){var velX=posX.velX;var velY=posX.velY;var bodX=posX.bodX;var bodY=posX.bodY;var padX=posX.padX;var padY=posX.padY;var posY=posX.posY;posX=posX.posX;}
137
- var res={posX:posX,posY:posY,tarX:-1,tarY:-1};var step=~~(Math.max(Math.abs(velX),Math.abs(velY))/((re.tile.sizeX+re.tile.sizeY)*0.5)+0.5);if(step>1){var sx=velX/step;var sy=velY/step;for(var i=0;i<step&&(sx||sy);i++){this.hitmap_step(res,posX,posY,sx,sy,bodX,bodY,padY,padY);if(res.hitX){sx=0;}
138
- if(res.hitY){sy=0;}}}else{this.hitmap_step(res,posX,posY,velX,velY,bodX,bodY,padX,padY);}
139
- return res;}}).namespace({step:function(res,x,y,vx,vy,width,height,padx,pady){res.posX+=vx;res.posY+=vy;var t,ty,tx;if(vx){t=re.tile.sizeX;var offsetx=(vx>0?width-padx:padx);var firsty=Math.floor((y+pady)/t);var lasty=Math.ceil((y+height-pady)/t);tx=Math.floor((x+vx+offsetx)/t);var offx=(vx<0?t:0);if(tx>=0&&tx<this.lengthX&&lasty>=0&&firsty<this.lengthY){for(ty=firsty;ty<lasty;ty++){if(this.map[ty]){this.signal('hit',this.map[ty][tx],tx,ty);if(this.checkAxisX(this.map[ty][tx],x,y,vx,vy)){res.hitX=true;res.posX=tx*t+offx-offsetx;res.tarX=tx*t;res.tarY=ty*t;break;}}}}}
140
- if(vy){t=re.tile.sizeY;var offsety=(vy>0?height-pady:pady);var firstx=Math.floor((res.posX+padx)/t);var lastx=Math.ceil((res.posX+width-padx)/t);ty=Math.floor((y+vy+offsety)/t);var offy=(vy<0?t:0);if(ty>=0&&ty<this.lengthY&&lastx>=0&&firstx<this.lengthX){for(tx=firstx;tx<lastx;tx++){if(this.map[ty]){this.signal('hit',this.map[ty][tx],tx,ty);if(this.checkAxisY(this.map[ty][tx],x,y,vx,vy)){res.hitY=true;res.posY=ty*t+offy-offsety;res.tarX=tx*t;res.tarY=ty*t;break;}}}}}}});re.c('hittest').inherit({posX:0,posY:0,sizeX:0,sizeY:0,touches:function(x,y,w,h){return!(x>this.posX+this.sizeX||x+w<this.posX||y>this.posY+this.sizeY||y+h<this.posY);}});re.physics=re.c('physics').require('update').global({graX:0,graY:0,minVel:0.01}).inherit({posX:0,posY:0,velX:0,velY:0,velMaxX:100,velMaxY:100,friX:0.9,friY:0.4,accX:0,accY:0,resX:0,resY:0,masX:1,masY:1,padX:0,padY:0,bodX:1,bodY:1}).namespace({update:function(t){this.velX=this.force(this.velX,this.accX,this.friX,this.graX,this.masX,this.velMaxX);this.velY=this.force(this.velY,this.accY,this.friY,this.graY,this.masY,this.velMaxY);if(this.hitmap){this.aftermath(this.hitmap.checkHit(this));}else{this.aftermath(this.posX+this.velX,this.posY+this.velY);}}}).extend({aftermath:function(posx,posy,hitx,hity,tarx,tary){if(arguments.length==1){hitx=posx.hitX;hity=posx.hitY;tarx=posx.tarX;tary=posx.tarY;posy=posx.posY;posx=posx.posX;}
141
- this.posX=posx;this.posY=posy;this.signal('aftermath',hitx,hity,tarx,tary);if(hitx){this.velX=this.forceRes(this.velX,this.resX);}
142
- if(hity){this.velY=this.forceRes(this.velY,this.resY);}},forceRes:function(vel,res){return vel*-res;},forceGra:function(gra,mas){return gra*mas;},forceVel:function(vel,acc,fri){return(vel+acc)*fri;},force:function(vel,acc,fri,gra,mas,max){var v=this.forceVel(vel,acc,fri)+this.forceGra(gra,mas);v=Math.min(max,Math.max(-max,v));if(Math.abs(v)<re.physics.minVel){v=0;}
143
- return v;},isIdle:function(){return(this.velY==0&&this.velX==0&&this.accX==0&&this.accY==0);}}).init(function(c){this.hitmap=re.hitmap;this.graX=c.graX;this.graY=c.graY;this.addSignal('update',this.physics_update);}).dispose(function(){this.removeSignal('update',this.physics_update);});re.c('point').inherit({posX:0,posY:0}).extend({setPos:function(x,y){if(arguments.length==1){if(x.y)
144
- this.posY=x.posY;if(x.x)
145
- this.posX=x.posX;}else{this.posX=x;this.posY=y;}
146
- return this;},setPosX:function(x){this.posX=x;return this;},setPosY:function(y){this.posY=y;return this;},distanceTo:function(x,y){if(arguments.length==1){y=x.posY;x=x.posX;}
147
- var kx,ky;kx=x-this.posX>>31;ky=y-this.posY>>31;return Math.round(((x-this.posX^kx)-kx)+((y-this.posY^ky)-ky));}});re.tile=re.c('tile').global({sizeX:40,sizeY:40,roundX:function(x,size){if(arguments.length==1){size=re.tile.sizeX;}
148
- return re.tile.roundTileX(x)*size;},roundY:function(y,size){if(arguments.length==1){size=re.tile.sizeY;}
149
- return re.tile.roundTileY(y)*size;},roundTileX:function(x,size){if(arguments.length==1){size=re.tile.sizeX;}
150
- return Math.round((x-size*0.5)/size);},roundTileY:function(y,size){if(arguments.length==1){size=re.tile.sizeY;}
151
- return Math.round((y-size*0.5)/size);}}).inherit({posX:0,posY:0}).init(function(){if(!this.sizeX)
152
- this.sizeX=re.tile.sizeX;if(!this.sizeY)
153
- this.sizeY=re.tile.sizeY;}).extend({setTileFromPoint:function(x,y){this.posX=re.tile.roundX(x);this.posY=re.tile.roundY(y);return this;},setTile:function(xt,yt){this.setTileX(xt);this.setTileY(yt);return this;},setTileX:function(value){this.posX=Math.floor(value*this.sizeX);return this;},getTileX:function(){return Math.floor(this.posX/this.sizeX);},setTileY:function(value){this.posY=Math.floor(value*this.sizeY);return this;},getTileY:function(){return Math.floor(this.posY/this.sizeY);}});re.c('playlist');re.sound=re.c('sound').global({enabled:true}).namespace({hasEvent:false,loops:0}).extend({play:function(loop){if(!this.sound||!re.sound.enabled)return this;var c=this.sound;var that=this;c.currentTime=0;c.play();if(loop){this.sound_loops=0;if(!this.sound_hasEvent){this.sound_hasEvent=true;c.addEventListener('ended',function(){that.signal('sounded',that.sound_loops,loop);if(loop==-1||that.sound_loops<loop){c.currentTime=0;that.sound_loops++;}},false);}}
154
- return this;},resume:function(){this.sound.play();return this;},pause:function(){this.sound.pause();return this;},currentTime:function(){return this.sound.currentTime;},ended:function(){return this.sound.ended;}});re.c('arraymap').inherit({lengthX:0,lengthY:0}).extend({value:0,set:function(x,y,value){while(y>=this.map.length){var m=new Array(this.map[0]);for(var l in m){m[l]=this.value;}
155
- this.map.push(m);}
156
- while(x>=this.map[this.map.length-1].length){for(var k=0;k<this.map.length;k++){this.map[k].push(this.value);}}
157
- this.lengthX=this.map[y].length;this.lengthY=this.map.length;this.map[y][x]=value;return this;},within:function(x,y){if(y<0||y>=this.lengthY||x<0||x>=this.lengthX){return false;}
158
- return true;},get:function(x,y){if(this.within(x,y)){return this.map[y][x];}
159
- return null;},copy:function(a){for(var y=0;y<a.length;y++){for(var x=0;x<a[0].length;x++){this.set(x,y,a[y][x]);}}
160
- return this;},copyByRef:function(m){this.map=m;if(m.length>0){this.lengthX=m[0].length;}else{this.lengthX=0;}
161
- this.lengthY=m.length;return this;}}).init(function(){this.map=[];});re.c('flicker').require('update timestep').implement('flick').init(function(){this.flicker_reels={};this.flicker_old={};this.flicker_reel={};this.flicker_flickering='';}).extend({flicker_stop:function(){if(this.flickering()){this.signal('animated',this.flicker_flickering);this.flicker_flickering='';this.stepProgress=0;this.frameX=this.flicker_oldX;this.frameY=this.flicker_oldY;this.removeSignal('update',this.flicker_update);}
162
- return this;},flicker_update:function(t){this.timestep(t,function(){var c=this.flicker_reel;if(this.flicker_frame==this.flicker_reel.frames.length){if(c.loops==-1||--this.flicker_loops>=1){this.flicker_frame=0;}else{this.flicker_stop();return;}}
163
- this.flick(c.frames[this.flicker_frame]);this.flicker_frame++;});},addFlicker:function(id,loops,duration,frames){if(typeof id=='object'){for(var i in id){if(!id.hasOwnProperty(i))continue;var c=id[i].slice();c.unshift(i);this.addFlicker.apply(this,c);}
164
- return this;}
165
- if(typeof frames=='string')frames=frames.split(' ');this.flicker_reels[id]={frames:frames,duration:duration,loops:loops};return this;},removeFlicker:function(id){if(typeof id=='object'){for(var i in id){if(!id.hasOwnProperty(i))continue;this.removeFlicker.call(this,id[i]);}
166
- return this;}
167
- delete this.flicker_reels[id];return this;},flicker:function(id,loops,duration,frames){if(arguments.length==0){return this.flicker_stop();}
168
- if(id==this.flicker_flickering)return;if(!this.flicker_reels[id]){return this;}
169
- var r=this.flicker_reels[id];var c=this.flicker_reel;c.loops=(isNaN(loops))?r.loops:loops;c.duration=(isNaN(duration))?r.duration:duration;c.frames=(typeof frames=='object')?frames:r.frames;this.flicker_loops=c.loops;this.stepProgress=0;this.stepSize=c.duration/c.frames.length;this.flicker_oldX=this.frameX;this.flicker_oldY=this.frameY;this.flicker_frame=0;this.flick(c.frames[this.flicker_frame++]);if(!this.flickering()){this.addSignal('update',this.flicker_update);}
170
- this.flicker_flickering=id;return this;},flickering:function(id){if(id){return this.flicker_flickering==id;}
171
- return this.flicker_flickering!='';}});re.c('timestep').inherit({stepProgress:0,stepSize:0.3}).extend({timestep:function(progress,callback,context){this.stepProgress+=progress;while(this.stepProgress>=this.stepSize){callback.call((context)?context:this);this.stepProgress-=this.stepSize;}}})
172
- re.c('storage').init(function(c,type){this.storage=(type=='session')?sessionStorage:localStorage;}).extend({length:function(){return this.storage.length;},key:function(index){return this.storage.key(index);},getItem:function(key){return this.storage.getItem(key);},getJson:function(key){return JSON.parse(this.getItem(key));},setItem:function(key,data){if(typeof data!='number'||typeof data!='string'){data=JSON.stringify(data);}
173
- this.storage.setItem(key,data);return this;},removeItem:function(key){this.storage.removeItem(key);return this;},clear:function(){this.storage.clear();return this;}})
174
- re.log=function(){try{console.log.apply(console,arguments);}catch(e){try{opera.postError.apply(opera,arguments);}catch(e){alert(Array.prototype.join.call(arguments," "));}}};re.c('log').extend('log',re.log);re.c('polyfill').extend({requestAnimationFrame:function(callback,canvas){return requestAnimFrame(callback,canvas);}}).run(function(){window.requestAnimFrame=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(callback){window.setTimeout(callback,1000/60);};});re.c('random').extend({random:function(max,min){switch(arguments.length){case 0:return Math.random();case 1:return Math.random()*max;case 2:return Math.random()*(max-min+1)+min;}},randomInt:function(max,min){return Math.floor(this.random.apply(this,arguments));}}).run(function(){var b=re.e('random');re.random=b.random;re.randomInt=b.randomInt;b.dispose();});re.scene=function(title){var s=re.c('scene');if(title.charAt(0)=='-'){delete s._scenes[title.substr(1)];return s;}else if(s._scenes[title]){var current=arguments.callee.current;var t=s._scenes[current];if(t&&typeof t.scene_exit=='function'){t.scene_exit.call(t,title);}
175
- arguments.callee.current=title;s.curent=title;t=s._scenes[title];if(typeof t.scene_enter=='function'){t.scene_enter.apply(t,Array.prototype.slice.call(arguments,1));}}else{re.e('scene:'+title);}
176
- return s._scenes[title];};re.c('scene').global({_scenes:{}}).init(function(c,title){c._scenes[title]=this;this.sceneName=title;}).dispose(function(c){delete c._scenes[this.sceneName];}).extend({enter:function(m){this.scene_enter=m;return this;},exit:function(m){this.scene_exit=m;return this;},scene:function(){return re.scene.apply(this,arguments);}});re.c('sheet').global({sheet:function(map,padX,padY,sizeX,sizeY){var frameWidth=sizeX||re.tile.sizeX;var frameHeight=sizeY||re.tile.sizeY;if(padX){frameWidth+=padX;}
177
- if(padY){frameHeight+=padY;}
178
- var x;var y;for(var p in map){x=map[p][0]||0;y=map[p][1]||0;re.c(p).require('sprite').extend({frame:{x:x,y:y},size:{x:frameWidth,y:frameHeight},bitmap:this.bitmap});}
179
- return this;}}).require('tile').extend({sheet:re.sheet});re.sheet=re.c('sheet').sheet;re.c('support').global({support:function(s){var that=re.c('support');if(arguments.length>1){var d;for(var i=0;i<arguments.length;i++){d=arguments[i];if(that.support(d)){return d;}}
180
- return false;}
181
- var k=s.split(' ');var stat=true;for(var j in k){stat=stat&&!!that[k[j]];}
182
- return stat;}}).extend({support:function(s){return re.c('support').call(this,s);}}).run(function(){var c=re.c('support');re.support=c.support;c.canvas=!!document.createElement('canvas').getContext;c.text=!!(c.canvas&&typeof document.createElement('canvas').getContext('2d').fillText=='function');var ele=document.createElement('audio');try{if(c.audio=!!ele.canPlayType){c.ogg=ele.canPlayType('audio/ogg; codecs="vorbis"');c.mp3=ele.canPlayType('audio/mpeg;');c.wav=ele.canPlayType('audio/wav; codecs="1"');c.aac=ele.canPlayType('audio/x-m4a;')||ele.canPlayType('audio/aac;');for(var i in c){if(c[i]=='no'||c[i]==''){c[i]=false;}}}}catch(e){}
183
- try{c.localstorage=!!localStorage.getItem;}catch(e){c.localstorage=false;}
184
- c.worker=!!window.Worker;c.webgl=!!window.WebGLRenderingContext;c.touch='ontouchstart'in window;});
data/lib/entityjs/comp.rb DELETED
@@ -1,11 +0,0 @@
1
- module Entityjs
2
-
3
- class Comp
4
-
5
- def self.generate(name)
6
-
7
- end
8
-
9
- end
10
-
11
- end