entityjs 0.2.2 → 0.3.0
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.
- data/.gitignore +7 -6
- data/.rspec +2 -0
- data/README.md +170 -49
- data/Rakefile +9 -0
- data/bin/entityjs +24 -14
- data/entityjs.gemspec +15 -9
- data/lib/entityjs/assets.rb +167 -0
- data/lib/entityjs/command.rb +52 -27
- data/lib/entityjs/commands/build.rb +128 -0
- data/lib/entityjs/commands/comp.rb +74 -0
- data/lib/entityjs/commands/font.rb +73 -0
- data/lib/entityjs/commands/new.rb +59 -0
- data/lib/entityjs/commands/server.rb +54 -0
- data/lib/entityjs/commands/templates.rb +28 -0
- data/lib/entityjs/commands/test.rb +69 -0
- data/lib/entityjs/config.rb +130 -0
- data/lib/entityjs/dirc.rb +184 -0
- data/lib/entityjs/parsers/parse_tmx.rb +41 -0
- data/lib/entityjs/parsers/parse_xml.rb +39 -0
- data/lib/entityjs/version.rb +1 -1
- data/lib/entityjs.rb +53 -0
- data/license.txt +1 -1
- data/public/play.html +122 -0
- data/public/qunit/qunit.css +226 -0
- data/public/qunit/qunit.entity.js +190 -0
- data/public/qunit/qunit.input.js +200 -0
- data/public/qunit/qunit.js +1598 -0
- data/public/qunit/qunit.mock.js +97 -0
- data/public/tests.html +45 -0
- data/spec/javascripts/helpers/accept.png +0 -0
- data/spec/javascripts/helpers/alligator.mp3 +0 -0
- data/spec/javascripts/helpers/alligator.ogg +0 -0
- data/spec/javascripts/helpers/canvas.js +15 -0
- data/spec/javascripts/helpers/entityunit.js +50 -0
- data/spec/javascripts/helpers/factories.js +11 -0
- data/spec/javascripts/helpers/jquery-1.7.1.min.js +4 -0
- data/spec/javascripts/src/core/comp_spec.js +145 -0
- data/spec/javascripts/src/core/entity_spec.js +324 -0
- data/spec/javascripts/src/core/load_spec.js +71 -0
- data/spec/javascripts/src/core/query_spec.js +157 -0
- data/spec/javascripts/src/core/re_spec.js +61 -0
- data/spec/javascripts/src/core/system_spec.js +41 -0
- data/spec/javascripts/src/cycle/draw_spec.js +106 -0
- data/spec/javascripts/src/cycle/tick_spec.js +20 -0
- data/spec/javascripts/src/cycle/update_spec.js +86 -0
- data/spec/javascripts/src/display/align_spec.js +43 -0
- data/spec/javascripts/src/display/circle_spec.js +26 -0
- data/spec/javascripts/src/display/group_spec.js +7 -0
- data/spec/javascripts/src/display/image_spec.js +32 -0
- data/spec/javascripts/src/display/imgtext_spec.js +32 -0
- data/spec/javascripts/src/display/rect_spec.js +13 -0
- data/spec/javascripts/src/display/screen_spec.js +47 -0
- data/spec/javascripts/src/display/sprite_spec.js +28 -0
- data/spec/javascripts/src/display/text_spec.js +30 -0
- data/spec/javascripts/src/input/keyboard_spec.js +67 -0
- data/spec/javascripts/src/input/mouse_spec.js +133 -0
- data/spec/javascripts/src/input/pressed_spec.js +31 -0
- data/spec/javascripts/src/math/bisect_spec.js +59 -0
- data/spec/javascripts/src/math/body_spec.js +30 -0
- data/spec/javascripts/src/math/drag_spec.js +38 -0
- data/spec/javascripts/src/math/force_spec.js +134 -0
- data/spec/javascripts/src/math/hit_spec.js +28 -0
- data/spec/javascripts/src/math/hitmap_spec.js +52 -0
- data/spec/javascripts/src/math/limit_spec.js +35 -0
- data/spec/javascripts/src/math/point_spec.js +57 -0
- data/spec/javascripts/src/math/tile_spec.js +78 -0
- data/spec/javascripts/src/media/sound_spec.js +40 -0
- data/spec/javascripts/src/pattern/automap_spec.js +93 -0
- data/spec/javascripts/src/pattern/flicker_spec.js +66 -0
- data/spec/javascripts/src/pattern/timestep_spec.js +23 -0
- data/spec/javascripts/src/save/storage_spec.js +37 -0
- data/spec/javascripts/src/util/log_spec.js +9 -0
- data/spec/javascripts/src/util/polyfill_spec.js +13 -0
- data/spec/javascripts/src/util/random_spec.js +33 -0
- data/spec/javascripts/src/util/scene_spec.js +52 -0
- data/spec/javascripts/src/util/sheet_spec.js +25 -0
- data/spec/javascripts/src/util/support_spec.js +17 -0
- data/spec/javascripts/support/jasmine.yml +76 -0
- data/spec/javascripts/support/jasmine_config.rb +32 -0
- data/spec/javascripts/support/jasmine_runner.rb +32 -0
- data/spec/lib/entityjs/assets_spec.rb +216 -0
- data/spec/lib/entityjs/command_spec.rb +53 -0
- data/spec/lib/entityjs/commands/build_spec.rb +69 -0
- data/spec/lib/entityjs/commands/comp_spec.rb +45 -0
- data/spec/lib/entityjs/commands/font_spec.rb +7 -0
- data/spec/lib/entityjs/commands/new_spec.rb +20 -0
- data/spec/lib/entityjs/commands/templates_spec.rb +9 -0
- data/spec/lib/entityjs/commands/test_spec.rb +31 -0
- data/spec/lib/entityjs/config_spec.rb +19 -0
- data/spec/lib/entityjs/dirc_spec.rb +83 -0
- data/spec/lib/entityjs/version_spec.rb +9 -0
- data/spec/spec_helper.rb +21 -3
- data/spec/support/factories.rb +19 -0
- data/spec/support/mygame.rb +11 -0
- data/src/core/comp.js +318 -0
- data/src/core/entity.js +549 -0
- data/src/core/load.js +242 -0
- data/src/core/query.js +354 -0
- data/src/core/re.js +74 -0
- data/src/core/system.js +121 -0
- data/src/cycle/draw.js +178 -0
- data/src/cycle/tick.js +25 -0
- data/src/{entityjs/cycle → cycle}/tween.js +60 -60
- data/src/{entityjs/cycle → cycle}/update.js +86 -85
- data/src/{entityjs/cycle → cycle}/wait.js +22 -21
- data/src/{entityjs/cycle → cycle}/worker.js +8 -8
- data/src/display/align.js +45 -0
- data/src/display/circle.js +33 -0
- data/src/{entityjs/display → display}/group.js +62 -62
- data/src/display/image.js +35 -0
- data/src/display/imgtext.js +102 -0
- data/src/{entityjs/display → display}/rect.js +18 -18
- data/src/display/screen.js +57 -0
- data/src/display/sprite.js +54 -0
- data/src/display/text.js +44 -0
- data/src/{entityjs/input → input}/keyboard.js +152 -150
- data/src/input/mouse.js +111 -0
- data/src/input/pressed.js +41 -0
- data/src/{entityjs/input → input}/touch.js +24 -28
- data/src/math/bisect.js +84 -0
- data/src/math/body.js +70 -0
- data/src/{entityjs/math → math}/drag.js +44 -38
- data/src/math/force.js +143 -0
- data/src/math/hit.js +32 -0
- data/src/math/hitmap.js +167 -0
- data/src/math/limit.js +37 -0
- data/src/math/point.js +40 -0
- data/src/math/tile.js +109 -0
- data/src/media/channel.js +93 -0
- data/src/{entityjs/media → media}/playlist.js +4 -4
- data/src/media/sound.js +114 -0
- data/src/{entityjs/net → net}/socket.js +51 -51
- data/src/pattern/automap.js +133 -0
- data/src/{entityjs/pattern → pattern}/flicker.js +206 -213
- data/src/pattern/timestep.js +31 -0
- data/src/{entityjs/save → save}/database.js +6 -6
- data/src/{entityjs/save → save}/storage.js +47 -56
- data/src/{entityjs/util → util}/log.js +17 -25
- data/src/{entityjs/util → util}/polyfill.js +24 -24
- data/src/util/random.js +20 -0
- data/src/util/scene.js +102 -0
- data/src/util/sheet.js +35 -0
- data/src/{entityjs/util → util}/support.js +109 -132
- data/{examples/keys → templates/arrow_keys/assets/images}/arrow.png +0 -0
- data/templates/arrow_keys/config.yml +22 -0
- data/templates/arrow_keys/readme.txt +9 -0
- data/templates/arrow_keys/scripts/display/arrow.js +69 -0
- data/templates/arrow_keys/scripts/init.js +10 -0
- data/templates/arrow_keys/scripts/input/controls.js +35 -0
- data/templates/arrow_keys/scripts/scenes/home.js +20 -0
- data/templates/arrow_keys/scripts/scenes/load.js +57 -0
- data/templates/arrow_keys/tests/display/arrow_test.js +29 -0
- data/templates/arrow_keys/tests/init_test.js +4 -0
- data/templates/arrow_keys/tests/input/controls_test.js +32 -0
- data/templates/arrow_keys/tests/scenes/home_test.js +0 -0
- data/templates/arrow_keys/tests/scenes/load_test.js +16 -0
- data/templates/blank/config.yml +22 -0
- data/templates/blank/readme.txt +79 -0
- data/templates/platform/assets/images/bit.png +0 -0
- data/templates/platform/assets/images/hero.png +0 -0
- data/templates/platform/assets/images/items.png +0 -0
- data/templates/platform/assets/images/tiles.png +0 -0
- data/templates/platform/assets/levels/level1.tmx +44 -0
- data/templates/platform/assets/sounds/coin.mp3 +0 -0
- data/templates/platform/assets/sounds/coin.ogg +0 -0
- data/templates/platform/config.yml +22 -0
- data/templates/platform/readme.txt +87 -0
- data/templates/platform/scripts/display/bit.js +12 -0
- data/templates/platform/scripts/display/hero.js +77 -0
- data/templates/platform/scripts/display/tile.js +2 -0
- data/templates/platform/scripts/display/tsprite.js +17 -0
- data/templates/platform/scripts/init.js +7 -0
- data/templates/platform/scripts/items/coin.js +27 -0
- data/templates/platform/scripts/items/item.js +41 -0
- data/templates/platform/scripts/items/spring.js +25 -0
- data/templates/platform/scripts/scenes/home.js +10 -0
- data/templates/platform/scripts/scenes/load.js +27 -0
- data/templates/platform/scripts/scenes/play.js +31 -0
- data/templates/platform/scripts/util/counter.js +34 -0
- data/templates/platform/scripts/util/level.js +84 -0
- data/templates/platform/tests/display/bit_test.js +7 -0
- data/templates/platform/tests/display/hero_test.js +73 -0
- data/templates/platform/tests/display/tile_test.js +7 -0
- data/templates/platform/tests/display/tsprite_test.js +8 -0
- data/templates/platform/tests/factories.js +30 -0
- data/templates/platform/tests/items/coin_test.js +28 -0
- data/templates/platform/tests/items/item_test.js +36 -0
- data/templates/platform/tests/items/spring_test.js +21 -0
- data/templates/platform/tests/scenes/home_test.js +9 -0
- data/templates/platform/tests/scenes/load_test.js +11 -0
- data/templates/platform/tests/scenes/play_test.js +15 -0
- data/templates/platform/tests/util/counter_test.js +9 -0
- data/templates/platform/tests/util/level_test.js +29 -0
- metadata +249 -97
- data/build/build_debug.bat +0 -1
- data/build/build_min.bat +0 -1
- data/build/config.php +0 -64
- data/build/debug.php +0 -48
- data/build/files.php +0 -74
- data/build/jsmin.php +0 -376
- data/build/min.php +0 -50
- data/changelog.txt +0 -53
- data/examples/keys/keys.html +0 -59
- data/examples/keys/keys.js +0 -148
- data/examples/mouse/mouse.html +0 -58
- data/examples/mouse/mouse.js +0 -60
- data/examples/scenes/home.png +0 -0
- data/examples/scenes/scenes.html +0 -55
- data/examples/scenes/scenes.js +0 -134
- data/examples/scenes/win.png +0 -0
- data/examples/sounds/sound1.mp3 +0 -0
- data/examples/sounds/sound1.ogg +0 -0
- data/examples/sounds/sounds.html +0 -56
- data/examples/sounds/sounds.js +0 -44
- data/examples/style/background.png +0 -0
- data/examples/style/sheet.css +0 -762
- data/examples/tiles/tiles.html +0 -56
- data/examples/tiles/tiles.js +0 -85
- data/examples/tiles/tiles.png +0 -0
- data/lib/blank/config.js +0 -4
- data/lib/blank/config.yml +0 -21
- data/lib/blank/home.js +0 -11
- data/lib/blank/init.js +0 -7
- data/lib/blank/load.js +0 -21
- data/lib/blank/play.html +0 -29
- data/lib/entity.debug.js +0 -52
- data/lib/entity.min.js +0 -184
- data/lib/entityjs/comp.rb +0 -11
- data/lib/entityjs/game.rb +0 -93
- data/lib/entityjs/min.rb +0 -11
- data/lib/entityjs/refresh.rb +0 -14
- data/spec/lib/entityjs/game_spec.rb +0 -11
- data/src/entityjs/core/component.js +0 -306
- data/src/entityjs/core/entity.js +0 -516
- data/src/entityjs/core/load.js +0 -224
- data/src/entityjs/core/query.js +0 -410
- data/src/entityjs/core/re.js +0 -70
- data/src/entityjs/core/system.js +0 -125
- data/src/entityjs/cycle/draw.js +0 -185
- data/src/entityjs/cycle/ticker.js +0 -27
- data/src/entityjs/display/anchor.js +0 -53
- data/src/entityjs/display/bitfont.js +0 -93
- data/src/entityjs/display/bitmap.js +0 -37
- data/src/entityjs/display/circle.js +0 -30
- data/src/entityjs/display/font.js +0 -41
- data/src/entityjs/display/screen.js +0 -46
- data/src/entityjs/display/sprite.js +0 -37
- data/src/entityjs/input/mouse.js +0 -123
- data/src/entityjs/input/pressed.js +0 -81
- data/src/entityjs/math/bind.js +0 -76
- data/src/entityjs/math/bisect.js +0 -69
- data/src/entityjs/math/body.js +0 -39
- data/src/entityjs/math/hitmap.js +0 -165
- data/src/entityjs/math/hittest.js +0 -26
- data/src/entityjs/math/physics.js +0 -142
- data/src/entityjs/math/point.js +0 -57
- data/src/entityjs/math/tile.js +0 -91
- data/src/entityjs/media/channel.js +0 -93
- data/src/entityjs/media/sound.js +0 -110
- data/src/entityjs/pattern/arraymap.js +0 -89
- data/src/entityjs/pattern/timestep.js +0 -34
- data/src/entityjs/util/random.js +0 -38
- data/src/entityjs/util/scene.js +0 -101
- data/src/entityjs/util/sheet.js +0 -51
data/examples/mouse/mouse.html
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
|
|
4
|
-
<head>
|
|
5
|
-
<meta http-equiv="X-UA-Compatible" content="chrome=1">
|
|
6
|
-
|
|
7
|
-
<title>Mouse Demo</title>
|
|
8
|
-
<script language="javascript">
|
|
9
|
-
//modify path of entity.debug.js
|
|
10
|
-
path = '../../';
|
|
11
|
-
</script>
|
|
12
|
-
<script src="../../lib/entity.debug.js" language="javascript"></script>
|
|
13
|
-
<script src="mouse.js" language="javascript"></script>
|
|
14
|
-
|
|
15
|
-
<link rel="stylesheet" type="text/css" href="../style/sheet.css" />
|
|
16
|
-
|
|
17
|
-
</head>
|
|
18
|
-
|
|
19
|
-
<body>
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
<div class="container_24">
|
|
23
|
-
<div id="content">
|
|
24
|
-
<h1>Mouse Demo</h1>
|
|
25
|
-
|
|
26
|
-
<div class="canvas-container">
|
|
27
|
-
<canvas id="canvas" width="500" height="400"> </canvas>
|
|
28
|
-
</div>
|
|
29
|
-
|
|
30
|
-
<div class="grid_12">
|
|
31
|
-
<h2 class="hd-left bg-yellow">Overview</h2>
|
|
32
|
-
<p>
|
|
33
|
-
Click with the, left mouse, right mouse and middle mouse. View the <a href="mouse.js">source code</a> to see how easy it is to program.
|
|
34
|
-
</p>
|
|
35
|
-
</div>
|
|
36
|
-
|
|
37
|
-
<div class="grid_12">
|
|
38
|
-
<h2 class="hd-right bg-yellow">Controls</h2>
|
|
39
|
-
|
|
40
|
-
<ul>
|
|
41
|
-
<li><span class="key">Mouse Left</span> Console log.</li>
|
|
42
|
-
<li><span class="key">Mouse Right</span> Console log. </li>
|
|
43
|
-
<li><span class="key">Mouse Middle</span> Console log.</li>
|
|
44
|
-
</ul>
|
|
45
|
-
|
|
46
|
-
</div>
|
|
47
|
-
|
|
48
|
-
<div class="clear"></div>
|
|
49
|
-
</div>
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
</div>
|
|
54
|
-
|
|
55
|
-
</body>
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
</html>
|
data/examples/mouse/mouse.js
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
re.constants = {
|
|
7
|
-
canvasId:'#canvas'
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
re.ready(function(){
|
|
11
|
-
|
|
12
|
-
//because we're not running on a server turn off root path
|
|
13
|
-
re.load.path = '';
|
|
14
|
-
|
|
15
|
-
//inits the system
|
|
16
|
-
re.sys.init(re.constants.canvasId).start();
|
|
17
|
-
|
|
18
|
-
re.sys.clearColor = '#FFFFFF';
|
|
19
|
-
|
|
20
|
-
re.e('mouse update pressed')
|
|
21
|
-
.addSignal('mousedown',function(){
|
|
22
|
-
console.log('Mouse down!');
|
|
23
|
-
})
|
|
24
|
-
.addSignal('mouseup', function(){
|
|
25
|
-
console.log('Mouse up!');
|
|
26
|
-
|
|
27
|
-
})
|
|
28
|
-
.addSignal('mousemove', function(x, y){
|
|
29
|
-
console.log('Mouse move!',x+' '+y);
|
|
30
|
-
|
|
31
|
-
})
|
|
32
|
-
.addSignal('click', function(){
|
|
33
|
-
console.log('Mouse click!');
|
|
34
|
-
|
|
35
|
-
})
|
|
36
|
-
.addSignal('dblclick', function(){
|
|
37
|
-
console.log('Mouse double click!');
|
|
38
|
-
|
|
39
|
-
})
|
|
40
|
-
.addSignal('contextmenu', function(){
|
|
41
|
-
console.log('Contextmenu!');
|
|
42
|
-
|
|
43
|
-
})
|
|
44
|
-
.addSignal('update', function(){
|
|
45
|
-
|
|
46
|
-
if(this.pressed('mouse:left')){
|
|
47
|
-
console.log('mouse:left');
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
if(this.pressed('mouse:right')){
|
|
51
|
-
console.log('mouse:right');
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
if(this.pressed('mouse:middle')){
|
|
55
|
-
console.log('mouse:middle');
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
});
|
data/examples/scenes/home.png
DELETED
|
Binary file
|
data/examples/scenes/scenes.html
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
|
|
4
|
-
<head>
|
|
5
|
-
<meta http-equiv="X-UA-Compatible" content="chrome=1">
|
|
6
|
-
<title>Scenes 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="scenes.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>Scenes 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
|
-
This demo introduces the scene component. The scene component is a way to organize different states of a game. For example a normal game has 4 scenes, preload, play, win and lose. View the <a href="scenes.js">source code</a>.
|
|
33
|
-
</p>
|
|
34
|
-
</div>
|
|
35
|
-
|
|
36
|
-
<div class="grid_12">
|
|
37
|
-
<h2 class="hd-right bg-yellow">Controls</h2>
|
|
38
|
-
|
|
39
|
-
<ul>
|
|
40
|
-
<li>Follow instructions.</li>
|
|
41
|
-
</ul>
|
|
42
|
-
|
|
43
|
-
</div>
|
|
44
|
-
|
|
45
|
-
<div class="clear"></div>
|
|
46
|
-
</div>
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
</div>
|
|
51
|
-
|
|
52
|
-
</body>
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
</html>
|
data/examples/scenes/scenes.js
DELETED
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
re.constants = {
|
|
3
|
-
canvasId:'#canvas',
|
|
4
|
-
assets:'home.png win.png',
|
|
5
|
-
size:{x:500, y: 400},
|
|
6
|
-
maxScore:1000
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
re.ready(function(){
|
|
10
|
-
|
|
11
|
-
re.sys.init(re.constants.canvasId)
|
|
12
|
-
.start();
|
|
13
|
-
|
|
14
|
-
//go to scene preload
|
|
15
|
-
re.scene('preload');
|
|
16
|
-
|
|
17
|
-
//remove root
|
|
18
|
-
re.load.path = '';
|
|
19
|
-
|
|
20
|
-
re.load(re.constants.assets)
|
|
21
|
-
.complete(function(){
|
|
22
|
-
|
|
23
|
-
//go to home scene
|
|
24
|
-
re.scene('start');
|
|
25
|
-
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
//extend scenes
|
|
31
|
-
|
|
32
|
-
//first scene and openning scene
|
|
33
|
-
re.scene('preload')
|
|
34
|
-
//since a scene is just an entity
|
|
35
|
-
//we can add components to it
|
|
36
|
-
.addComp('font')
|
|
37
|
-
.extend({
|
|
38
|
-
text: 'Preloading',
|
|
39
|
-
textColor:'#66b44d',
|
|
40
|
-
posX: re.constants.size.x * 0.5,
|
|
41
|
-
posY: re.constants.size.y * 0.5
|
|
42
|
-
})
|
|
43
|
-
.enter(function(){
|
|
44
|
-
|
|
45
|
-
//called upon entering a scene
|
|
46
|
-
|
|
47
|
-
//property from the draw component
|
|
48
|
-
this.drawing = true;
|
|
49
|
-
|
|
50
|
-
})
|
|
51
|
-
.exit(function(newScene){
|
|
52
|
-
|
|
53
|
-
//called upon exiting a scene
|
|
54
|
-
|
|
55
|
-
this.drawing = false;
|
|
56
|
-
|
|
57
|
-
//first argument is the new scene its switching to
|
|
58
|
-
console.log('New scene is: '+newScene);
|
|
59
|
-
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
//create scenes directly from re.e
|
|
63
|
-
re.e('scene:start')
|
|
64
|
-
.enter(function(){
|
|
65
|
-
|
|
66
|
-
//display bitmap home.png
|
|
67
|
-
this.home = re.e('bitmap home.png');
|
|
68
|
-
|
|
69
|
-
this.home.posX = 20;
|
|
70
|
-
this.home.posY = 50;
|
|
71
|
-
|
|
72
|
-
//add enter listener
|
|
73
|
-
this.enter = re.e('keyboard')
|
|
74
|
-
//add two signals listens for keyup of enter AND space. Cool eh??
|
|
75
|
-
.addSignal('keyup', function(key){
|
|
76
|
-
if(key == 'space' || key == 'enter'){
|
|
77
|
-
var score = Math.floor(Math.random() * re.constants.maxScore);
|
|
78
|
-
|
|
79
|
-
//you can send arguments to scenes
|
|
80
|
-
re.scene('win', score, 'Awsome score!');
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
|
|
84
|
-
})
|
|
85
|
-
.exit(function(){
|
|
86
|
-
|
|
87
|
-
this.home.dispose();
|
|
88
|
-
this.enter.dispose();
|
|
89
|
-
|
|
90
|
-
});
|
|
91
|
-
|
|
92
|
-
//final scene accepts two arguments
|
|
93
|
-
re.scene('win')
|
|
94
|
-
.enter(function(points, rating){
|
|
95
|
-
|
|
96
|
-
this.win = re.e('win.png bitmap')
|
|
97
|
-
.extend({
|
|
98
|
-
posX:100,
|
|
99
|
-
posY:10
|
|
100
|
-
});
|
|
101
|
-
|
|
102
|
-
this.message = re.e('font');
|
|
103
|
-
|
|
104
|
-
this.message.text = 'Your score is: '+points+'... '+rating;
|
|
105
|
-
this.message.posX = 150;
|
|
106
|
-
this.message.posY = 300;
|
|
107
|
-
|
|
108
|
-
this.ret = re.e('font');
|
|
109
|
-
this.ret.text = 'Press any key to return.';
|
|
110
|
-
this.ret.posX = this.message.posX;
|
|
111
|
-
this.ret.posY = this.message.posY + 30;
|
|
112
|
-
|
|
113
|
-
this.key = re.e('keyboard')
|
|
114
|
-
.addSignal('keyup', function(){
|
|
115
|
-
|
|
116
|
-
re.scene('start');
|
|
117
|
-
|
|
118
|
-
});
|
|
119
|
-
|
|
120
|
-
})
|
|
121
|
-
.exit(function(){
|
|
122
|
-
|
|
123
|
-
//finds all draw entities and disposes them
|
|
124
|
-
//all entities that draw to the screen have the draw component
|
|
125
|
-
//but don't delete any scene entities, remember the scene preload is a draw entity!
|
|
126
|
-
re('draw -scene').dispose();
|
|
127
|
-
|
|
128
|
-
this.ret.dispose();
|
|
129
|
-
|
|
130
|
-
//samething as writing
|
|
131
|
-
/*this.win.dispose();
|
|
132
|
-
this.text.dispose();*/
|
|
133
|
-
|
|
134
|
-
});
|
data/examples/scenes/win.png
DELETED
|
Binary file
|
data/examples/sounds/sound1.mp3
DELETED
|
Binary file
|
data/examples/sounds/sound1.ogg
DELETED
|
Binary file
|
data/examples/sounds/sounds.html
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
|
|
4
|
-
<head>
|
|
5
|
-
<meta http-equiv="X-UA-Compatible" content="chrome=1">
|
|
6
|
-
<title>Sounds 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="sounds.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>Sounds 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
|
-
Press Z or X to play a sound. View the <a href="sounds.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><span class="key">Z</span> Play sound 1.</li>
|
|
41
|
-
<li><span class="key">X</span> Play sound 2.</li>
|
|
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>
|
data/examples/sounds/sounds.js
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
This demo works in all 5 browsers. Even IE9.
|
|
3
|
-
|
|
4
|
-
This example shows how you can play sound effects in the browser.
|
|
5
|
-
Because not every browser all supports one codec you will need TWO
|
|
6
|
-
sound codecs in your game. Of course you only want to load one file type.
|
|
7
|
-
|
|
8
|
-
First you must get the currently supported sound codec.
|
|
9
|
-
Then load that specific codec of sound. Look at re.load()
|
|
10
|
-
*/
|
|
11
|
-
re.ready(function(){
|
|
12
|
-
|
|
13
|
-
//no need to start rendering. Nothing to show
|
|
14
|
-
//re.sys.init('#canvas').start();
|
|
15
|
-
|
|
16
|
-
//find supported codec
|
|
17
|
-
var codec = re.support('ogg', 'mp3');
|
|
18
|
-
|
|
19
|
-
console.log('Codec supported '+codec);
|
|
20
|
-
|
|
21
|
-
//only load sound with the supported codec!
|
|
22
|
-
re.load('sound1.'+codec)
|
|
23
|
-
.complete(function(){
|
|
24
|
-
|
|
25
|
-
console.log('complete');
|
|
26
|
-
|
|
27
|
-
//when sounds are loaded they are all given a special prefix
|
|
28
|
-
//this lets you run the program normally without using re.support() everywhere
|
|
29
|
-
s1 = re.e('sound sound1.sfx'); //could use sound1.ogg
|
|
30
|
-
|
|
31
|
-
re.e('keyboard')
|
|
32
|
-
.addSignal('keyup:x', function(){
|
|
33
|
-
//play sound 1
|
|
34
|
-
s1.play();
|
|
35
|
-
})
|
|
36
|
-
.addSignal('keyup:z', function(){
|
|
37
|
-
//call sound directly
|
|
38
|
-
re.c('sound1.sfx').sound.play();
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
});
|
|
Binary file
|