From 07724e500119bc0472315c13592264cd5d4ac831 Mon Sep 17 00:00:00 2001 From: photonstorm Date: Tue, 22 Oct 2013 03:58:20 +0100 Subject: [PATCH] Revamping the examples area. --- build/build.php | 2 +- build/phaser.js | 2 +- examples/animation/animation wraparound.php | 52 --- examples/animation/change texture on click.js | 39 +++ examples/animation/change texture.php | 51 --- examples/animation/from a JSON object.php | 144 -------- .../animation/from a texturePacker file.php | 38 -- examples/animation/local json object.js | 126 +++++++ examples/animation/looped animation.js | 35 ++ examples/animation/multiple anims.js | 20 ++ examples/animation/multiple anims.php | 36 -- examples/animation/sprite sheet.js | 27 ++ examples/animation/sprite sheet.php | 39 --- .../animation/texture packer json hash.js | 22 ++ .../html}/HelveticaNeueLTStd-Bd.otf | Bin .../{html/js => assets/html}/application.js | 0 examples/assets/html/bg-footer.jpg | Bin 0 -> 216649 bytes .../img => assets/html}/controls-label.png | Bin examples/{ => assets}/html/demo.html | 0 .../{html/img => assets/html}/down-label.png | Bin .../{html/img => assets/html}/flixel-logo.png | Bin .../{html/img => assets/html}/footer-bg.jpg | Bin examples/assets/html/footer-bg2.jpg | Bin 0 -> 49940 bytes .../{html/img => assets/html}/forums-icon.png | Bin .../img => assets/html}/game-controls-bg.jpg | Bin .../{html/img => assets/html}/github-icon.png | Bin .../{html/img => assets/html}/gradient-bg.jpg | Bin .../img => assets/html}/group-item-hover.png | Bin .../{html/img => assets/html}/group-item.png | Bin .../{html/img => assets/html}/header-bg.jpg | Bin examples/assets/html/header-bg2.jpg | Bin 0 -> 107149 bytes examples/assets/html/inconsolata.woff | Bin 0 -> 28040 bytes examples/{ => assets}/html/index.html | 0 examples/{html/img => assets/html}/laser1.png | Bin .../{html/img => assets/html}/laser10.png | Bin examples/{html/img => assets/html}/laser2.png | Bin examples/{html/img => assets/html}/laser3.png | Bin examples/{html/img => assets/html}/laser4.png | Bin examples/{html/img => assets/html}/laser5.png | Bin examples/{html/img => assets/html}/laser6.png | Bin examples/{html/img => assets/html}/laser7.png | Bin examples/{html/img => assets/html}/laser8.png | Bin examples/{html/img => assets/html}/laser9.png | Bin .../{html/img => assets/html}/left-label.png | Bin examples/assets/html/lite_footer.jpg | Bin 0 -> 12247 bytes examples/assets/html/lite_header.jpg | Bin 0 -> 13883 bytes examples/assets/html/lite_header_2.jpg | Bin 0 -> 2550 bytes .../{html/img => assets/html}/mute-button.png | Bin .../{html/img => assets/html}/nav-icons.png | Bin .../img => assets/html}/pause-button.png | Bin .../img => assets/html}/phaser-examples.png | Bin .../{html/img => assets/html}/phaser-logo.png | Bin .../img => assets/html}/phaser-version.png | Bin .../img => assets/html}/photonstorm-logo.png | Bin .../{html/img => assets/html}/prize-bg.png | Bin .../img => assets/html}/prize-button.png | Bin .../img => assets/html}/reset-button.png | Bin .../{html/img => assets/html}/right-label.png | Bin .../{html/img => assets/html}/space-label.png | Bin .../img => assets/html}/twitter-icon.png | Bin .../{html/img => assets/html}/up-label.png | Bin .../img => assets/html}/version-button.png | Bin examples/assets/skies/cavern1.png | Bin 1809 -> 4757 bytes examples/assets/skies/cavern2.png | Bin 1809 -> 4757 bytes examples/assets/skies/chrome.png | Bin 1809 -> 4757 bytes examples/assets/skies/fire.png | Bin 1809 -> 4757 bytes examples/assets/skies/fog.png | Bin 1809 -> 4757 bytes examples/assets/skies/sky1.png | Bin 1809 -> 4757 bytes examples/assets/skies/sky2.png | Bin 1809 -> 4757 bytes examples/assets/skies/sky3.png | Bin 1809 -> 4757 bytes examples/assets/skies/sky4.png | Bin 1809 -> 4757 bytes examples/assets/skies/sky5.png | Bin 1809 -> 4757 bytes examples/assets/skies/space1.png | Bin 1809 -> 4757 bytes examples/assets/skies/space2.png | Bin 1809 -> 4757 bytes examples/assets/skies/sunorbit.png | Bin 1809 -> 4757 bytes examples/assets/skies/sunset.png | Bin 1809 -> 4757 bytes examples/assets/skies/toxic.png | Bin 1809 -> 4757 bytes examples/assets/skies/underwater1.png | Bin 1809 -> 4757 bytes examples/assets/skies/underwater2.png | Bin 1809 -> 4757 bytes examples/assets/skies/underwater3.png | Bin 1809 -> 4757 bytes examples/assets/skies/wtf.png | Bin 1809 -> 4757 bytes examples/audio/loop.js | 28 ++ examples/audio/loop.php | 46 --- examples/audio/play music.js | 51 +++ examples/audio/play music.php | 66 ---- examples/build.php | 37 ++ examples/buttons/action on click.js | 28 ++ examples/buttons/action on click.php | 48 --- examples/buttons/changing the frames.js | 32 ++ examples/buttons/changing the frames.php | 55 --- examples/buttons/rotated buttons.js | 36 ++ examples/buttons/rotated buttons.php | 47 --- examples/camera/basic follow.js | 60 ++++ examples/camera/basic follow.php | 86 ----- examples/camera/camera cull.js | 48 +++ examples/camera/camera cull.php | 64 ---- examples/camera/follow styles.js | 109 ++++++ examples/camera/follow styles.php | 130 ------- examples/camera/moving the camera.js | 52 +++ examples/camera/moving the camera.php | 68 ---- examples/camera/world sprite.js | 54 +++ examples/camera/world sprite.php | 70 ---- examples/collision/bounding box.js | 55 +++ examples/collision/bounding box.php | 71 ---- examples/collision/group vs group.js | 98 ++++++ examples/collision/group vs group.php | 114 ------ examples/collision/larger bounding box.js | 51 +++ examples/collision/larger bounding box.php | 66 ---- examples/collision/offset bounding box.js | 54 +++ examples/collision/offset bounding box.php | 69 ---- examples/collision/sprite tiles.js | 69 ++++ examples/collision/sprite tiles.php | 84 ----- examples/collision/sprite vs group.js | 87 +++++ examples/collision/sprite vs group.php | 103 ------ examples/collision/sprite vs sprite custom.js | 78 +++++ .../collision/sprite vs sprite custom.php | 92 ----- examples/collision/sprite vs sprite.js | 43 +++ examples/collision/sprite vs sprite.php | 61 ---- examples/collision/transform.js | 117 +++++++ examples/collision/transform.php | 131 ------- examples/collision/vertical collision.js | 58 ++++ examples/collision/vertical collision.php | 72 ---- examples/display/fullscreen.js | 40 +++ examples/display/fullscreen.php | 55 --- examples/display/graphics.js | 47 +++ examples/display/graphics.php | 65 ---- examples/display/linkedList.php | 59 ---- examples/display/render crisp.js | 32 ++ examples/display/render crisp.php | 48 --- examples/examples.json | 188 ++++++++++ examples/foot.php | 14 - examples/funcs.php | 95 +++++ examples/games/breakout.js | 195 +++++++++++ examples/games/breakout.php | 211 ------------ examples/games/invaders.js | 119 +++++++ examples/games/invaders.php | 134 -------- examples/games/starstruck.js | 139 ++++++++ examples/games/starstruck.php | 151 -------- examples/games/tanks.js | 298 ++++++++++++++++ examples/games/tanks.php | 325 ------------------ examples/geometry/circle.js | 19 + examples/geometry/circle.php | 32 -- examples/geometry/line.js | 17 + examples/geometry/line.php | 32 -- examples/geometry/playing with points.js | 57 +++ examples/geometry/playing with points.php | 70 ---- examples/geometry/rectangle.js | 16 + examples/geometry/rectangle.php | 30 -- examples/geometry/rotate point.js | 31 ++ examples/geometry/rotate point.php | 47 --- examples/groups/add a sprite to group.js | 34 ++ examples/groups/add a sprite to group.php | 63 ---- examples/groups/bring a child to top.js | 34 ++ examples/groups/bring a child to top.php | 47 --- examples/groups/bring a group to top.js | 83 +++++ examples/groups/bring a group to top.php | 101 ------ examples/groups/call all.js | 52 +++ examples/groups/call all.php | 52 --- examples/groups/create group.js | 36 ++ examples/groups/create group.php | 57 --- examples/groups/create sprite in a group.js | 45 +++ examples/groups/create sprite in a group.php | 56 --- examples/groups/display order.js | 43 +++ examples/groups/display order.php | 64 ---- examples/groups/for each.js | 43 +++ examples/groups/for each.php | 50 --- examples/groups/get first.js | 60 ++++ examples/groups/get first.php | 72 ---- examples/groups/group as layer.js | 73 ++++ examples/groups/group as layer.php | 85 ----- examples/groups/group transform - rotate.js | 50 +++ examples/groups/group transform - rotate.php | 63 ---- examples/groups/group transform - tween.js | 46 +++ examples/groups/group transform - tween.php | 63 ---- examples/groups/group transform.js | 65 ++++ examples/groups/group transform.php | 78 ----- examples/groups/recyling.js | 62 ++++ examples/groups/recyling.php | 70 ---- examples/groups/remove.js | 64 ++++ examples/groups/remove.php | 73 ---- examples/groups/replace.js | 76 ++++ examples/groups/replace.php | 79 ----- examples/groups/set All.js | 35 ++ examples/groups/set All.php | 46 --- examples/groups/sub groups - group length.js | 72 ++++ examples/groups/sub groups - group length.php | 77 ----- examples/groups/swap children in a group.js | 35 ++ examples/groups/swap children in a group.php | 51 --- examples/head.php | 21 -- examples/head_live.php | 8 - examples/html/img/screenshot.jpg | Bin 64484 -> 0 bytes examples/index.php | 75 +--- examples/input/cursor key movement.js | 73 ++++ examples/input/cursor key movement.php | 90 ----- examples/input/drag several sprites.js | 36 ++ examples/input/drag several sprites.php | 51 --- examples/input/drag.js | 24 ++ examples/input/drag.php | 39 --- examples/input/drop limitation.js | 55 +++ examples/input/drop limitation.php | 63 ---- examples/input/follow mouse.js | 37 ++ examples/input/follow mouse.php | 53 --- examples/input/game scale.js | 58 ++++ examples/input/game scale.php | 76 ---- examples/input/key.js | 52 +++ examples/input/key.php | 67 ---- examples/input/keyboard hotkeys.js | 43 +++ examples/input/keyboard hotkeys.php | 58 ---- examples/input/keyboard justpressed.js | 32 ++ examples/input/keyboard justpressed.php | 47 --- examples/input/keyboard.js | 80 +++++ examples/input/keyboard.php | 87 ----- examples/input/motion lock - horizontal.js | 37 ++ examples/input/motion lock - horizontal.php | 54 --- examples/input/motion lock - vertical.js | 37 ++ examples/input/motion lock - vertical.php | 54 --- examples/input/multi touch.js | 32 ++ examples/input/multi touch.php | 44 --- examples/input/override default controls.js | 109 ++++++ examples/input/override default controls.php | 118 ------- .../input/pixel perfect click detection.js | 47 +++ .../input/pixelpick - scrolling effect.js | 98 ++++++ .../input/pixelpick - scrolling effect.php | 113 ------ examples/input/pixelpick - spritesheet.js | 46 +++ examples/input/pixelpick - spritesheet.php | 61 ---- examples/input/pixelpick.php | 62 ---- examples/input/snap on drag.js | 35 ++ examples/input/snap.php | 50 --- examples/lite.php | 124 +++++++ examples/loader/loading multiple files.php | 60 ---- examples/loader/pick images from cache.js | 35 ++ examples/loader/pick images from cache.php | 50 --- examples/loader/preloadSprite.php | 45 --- examples/loader/spritesheet loading.php | 54 --- examples/misc/net.js | 17 + examples/misc/net.php | 38 -- examples/misc/random generators.js | 15 + examples/misc/random generators.php | 32 -- examples/misc/repeatable random numbers.js | 35 ++ examples/misc/rnd.php | 47 --- examples/particles/click burst.js | 37 ++ examples/particles/click burst.php | 49 --- examples/particles/collision.js | 33 ++ examples/particles/collision.php | 48 --- examples/particles/diamond burst.js | 22 ++ examples/particles/diamond burst.php | 77 ----- examples/particles/no rotation.js | 25 ++ examples/particles/no rotation.php | 40 --- examples/particles/random sprite.js | 25 ++ examples/particles/random sprite.php | 46 --- examples/particles/when particles collide.js | 36 ++ examples/particles/when particles collide.php | 51 --- examples/particles/zero gravity.js | 21 ++ examples/particles/zero gravity.php | 36 -- examples/{js.php => phaser-debug-js.php} | 0 examples/phaser-mobile.css | 22 -- examples/phaser.css | 209 ----------- examples/physics/accelerate to pointer.js | 29 ++ examples/physics/accelerate to pointer.php | 41 --- examples/physics/angle between.js | 39 +++ examples/physics/angle between.php | 51 --- examples/physics/angle to pointer.js | 31 ++ examples/physics/angle to pointer.php | 43 --- examples/physics/angular acceleration.js | 50 +++ examples/physics/angular acceleration.php | 62 ---- examples/physics/angular velocity.js | 49 +++ examples/physics/angular velocity.php | 61 ---- examples/physics/mass velocity test.js | 63 ++++ examples/physics/mass velocity test.php | 76 ---- examples/physics/move towards object.js | 37 ++ examples/physics/move towards object.php | 53 --- examples/physics/multi angle to pointer.js | 41 +++ examples/physics/multi angle to pointer.php | 53 --- .../physics/quadtree - collision infos.js | 67 ++++ examples/physics/quadtree - ids.js | 90 +++++ examples/physics/shoot the pointer.js | 63 ++++ examples/physics/shoot the pointer.php | 75 ---- examples/physics/sprite bounds.js | 46 +++ examples/physics/sprite bounds.php | 62 ---- .../quadtree/quadtree - collision infos.php | 83 ----- examples/quadtree/quadtree - ids.php | 106 ------ examples/sprites/add a sprite.js | 15 + examples/sprites/add a sprite.php | 28 -- examples/sprites/add several sprites.js | 49 +++ examples/sprites/add several sprites.php | 61 ---- examples/sprites/collide world bounds.js | 26 ++ examples/sprites/collide world bounds.php | 40 --- examples/sprites/destroy.js | 31 ++ examples/sprites/destroy.php | 39 --- examples/sprites/dynamic crop.js | 29 ++ ....php => extending sprite object demo 2.js} | 33 +- examples/sprites/extending sprite object.js | 42 +++ examples/sprites/horizontal crop.js | 27 ++ examples/sprites/move a sprite.js | 48 +++ examples/sprites/move a sprite.php | 64 ---- examples/sprites/out of bounds.js | 42 +++ examples/sprites/outOfBounds.php | 54 --- examples/sprites/scale a sprite.js | 29 ++ examples/sprites/scale a sprite.php | 33 -- examples/sprites/shared sprite textures.js | 41 +++ examples/sprites/shared sprite textures.php | 59 ---- examples/sprites/sprite rotation.js | 37 ++ examples/sprites/sprite rotation.php | 51 --- examples/sprites/sprite_extend.php | 57 --- examples/sprites/spritesheet.js | 37 ++ examples/sprites/spritesheet.php | 51 --- examples/sprites/vertical crop.js | 27 ++ examples/{html/css => }/stylesheet.css | 101 +++--- examples/template.php | 32 -- examples/text/bitmap fonts.js | 22 ++ examples/text/bitmap fonts.php | 37 -- examples/text/hello arial.js | 13 + examples/text/hello arial.php | 24 -- examples/text/kern of duty.js | 62 ++++ examples/text/kern of duty.php | 78 ----- examples/text/remove text.js | 19 + examples/text/remove text.php | 32 -- examples/text/text stroke.js | 18 + examples/text/text stroke.php | 34 -- .../texture crop/crop - horizontal tween.php | 42 --- .../texture crop/crop - vertical tween.php | 42 --- .../texture crop/to see part of an image.php | 44 --- .../tile sprites/animated tiling sprite.js | 43 +++ .../tilesprite inside crop rect.php | 59 ---- examples/tile sprites/tilesprite.php | 50 --- examples/tile sprites/tiling sprite.js | 34 ++ examples/tilemaps/Sci-Fly.js | 109 ++++++ examples/tilemaps/Sci-Fly.php | 122 ------- examples/tilemaps/fill tiles.js | 76 ++++ examples/tilemaps/fill tiles.php | 88 ----- examples/tilemaps/mapcollide.js | 76 ++++ examples/tilemaps/mapcollide.php | 89 ----- examples/tilemaps/mario.js | 41 +++ examples/tilemaps/mario.php | 56 --- examples/tilemaps/mariotogether.js | 26 ++ examples/tilemaps/mariotogether.php | 41 --- examples/tilemaps/paint tiles.js | 61 ++++ examples/tilemaps/paint tiles.php | 73 ---- examples/tilemaps/randomise tiles.js | 81 +++++ examples/tilemaps/randomise tiles.php | 93 ----- examples/tilemaps/replace tiles.js | 81 +++++ examples/tilemaps/replace tiles.php | 93 ----- examples/tilemaps/supermario.js | 43 +++ examples/tilemaps/supermario.php | 58 ---- examples/tilemaps/supermario2.js | 58 ++++ examples/tilemaps/supermario2.php | 73 ---- examples/tilemaps/swap tiles.js | 81 +++++ examples/tilemaps/swap tiles.php | 93 ----- examples/tilemaps/wip1.js | 158 +++++++++ examples/tilemaps/wip1.php | 171 --------- examples/tilemaps/wip2.js | 189 ++++++++++ examples/tilemaps/wip2.php | 202 ----------- examples/tilemaps/wip3.js | 188 ++++++++++ examples/tilemaps/wip3.php | 201 ----------- examples/tilemaps/wip4.js | 197 +++++++++++ examples/tilemaps/wip4.php | 210 ----------- examples/tweens/bounce.js | 29 ++ examples/tweens/bounce.php | 48 --- examples/tweens/bubbles.js | 26 ++ examples/tweens/bubbles.php | 44 --- examples/tweens/chained tweens.js | 24 ++ examples/tweens/chained tweens.php | 54 --- examples/tweens/combined tweens.js | 52 +++ examples/tweens/combined tweens.php | 73 ---- examples/tweens/easing spritesheets.js | 25 ++ examples/tweens/easing spritesheets.php | 42 --- examples/tweens/easing.js | 46 +++ examples/tweens/easing.php | 54 --- examples/tweens/fading in a sprite.js | 22 ++ examples/tweens/fading in a sprite.php | 34 -- examples/tweens/pause tween.js | 41 +++ examples/tweens/tween several properties.js | 29 ++ examples/tweens/tween several properties.php | 40 --- examples/view_full.php | 103 ++++++ examples/view_lite.php | 28 ++ examples/view_plain.php | 27 ++ examples/world/fixed to camera.js | 66 ++++ examples/world/fixed to camera.php | 83 ----- examples/world/move around world.js | 95 +++++ examples/world/move around world.php | 113 ------ 380 files changed, 8619 insertions(+), 10707 deletions(-) delete mode 100644 examples/animation/animation wraparound.php create mode 100644 examples/animation/change texture on click.js delete mode 100644 examples/animation/change texture.php delete mode 100644 examples/animation/from a JSON object.php delete mode 100644 examples/animation/from a texturePacker file.php create mode 100644 examples/animation/local json object.js create mode 100644 examples/animation/looped animation.js create mode 100644 examples/animation/multiple anims.js delete mode 100644 examples/animation/multiple anims.php create mode 100644 examples/animation/sprite sheet.js delete mode 100644 examples/animation/sprite sheet.php create mode 100644 examples/animation/texture packer json hash.js rename examples/{html/fonts => assets/html}/HelveticaNeueLTStd-Bd.otf (100%) rename examples/{html/js => assets/html}/application.js (100%) create mode 100644 examples/assets/html/bg-footer.jpg rename examples/{html/img => assets/html}/controls-label.png (100%) rename examples/{ => assets}/html/demo.html (100%) rename examples/{html/img => assets/html}/down-label.png (100%) rename examples/{html/img => assets/html}/flixel-logo.png (100%) rename examples/{html/img => assets/html}/footer-bg.jpg (100%) create mode 100644 examples/assets/html/footer-bg2.jpg rename examples/{html/img => assets/html}/forums-icon.png (100%) rename examples/{html/img => assets/html}/game-controls-bg.jpg (100%) rename examples/{html/img => assets/html}/github-icon.png (100%) rename examples/{html/img => assets/html}/gradient-bg.jpg (100%) rename examples/{html/img => assets/html}/group-item-hover.png (100%) rename examples/{html/img => assets/html}/group-item.png (100%) rename examples/{html/img => assets/html}/header-bg.jpg (100%) create mode 100644 examples/assets/html/header-bg2.jpg create mode 100644 examples/assets/html/inconsolata.woff rename examples/{ => assets}/html/index.html (100%) rename examples/{html/img => assets/html}/laser1.png (100%) rename examples/{html/img => assets/html}/laser10.png (100%) rename examples/{html/img => assets/html}/laser2.png (100%) rename examples/{html/img => assets/html}/laser3.png (100%) rename examples/{html/img => assets/html}/laser4.png (100%) rename examples/{html/img => assets/html}/laser5.png (100%) rename examples/{html/img => assets/html}/laser6.png (100%) rename examples/{html/img => assets/html}/laser7.png (100%) rename examples/{html/img => assets/html}/laser8.png (100%) rename examples/{html/img => assets/html}/laser9.png (100%) rename examples/{html/img => assets/html}/left-label.png (100%) create mode 100644 examples/assets/html/lite_footer.jpg create mode 100644 examples/assets/html/lite_header.jpg create mode 100644 examples/assets/html/lite_header_2.jpg rename examples/{html/img => assets/html}/mute-button.png (100%) rename examples/{html/img => assets/html}/nav-icons.png (100%) rename examples/{html/img => assets/html}/pause-button.png (100%) rename examples/{html/img => assets/html}/phaser-examples.png (100%) rename examples/{html/img => assets/html}/phaser-logo.png (100%) rename examples/{html/img => assets/html}/phaser-version.png (100%) rename examples/{html/img => assets/html}/photonstorm-logo.png (100%) rename examples/{html/img => assets/html}/prize-bg.png (100%) rename examples/{html/img => assets/html}/prize-button.png (100%) rename examples/{html/img => assets/html}/reset-button.png (100%) rename examples/{html/img => assets/html}/right-label.png (100%) rename examples/{html/img => assets/html}/space-label.png (100%) rename examples/{html/img => assets/html}/twitter-icon.png (100%) rename examples/{html/img => assets/html}/up-label.png (100%) rename examples/{html/img => assets/html}/version-button.png (100%) create mode 100644 examples/audio/loop.js delete mode 100644 examples/audio/loop.php create mode 100644 examples/audio/play music.js delete mode 100644 examples/audio/play music.php create mode 100644 examples/build.php create mode 100644 examples/buttons/action on click.js delete mode 100644 examples/buttons/action on click.php create mode 100644 examples/buttons/changing the frames.js delete mode 100644 examples/buttons/changing the frames.php create mode 100644 examples/buttons/rotated buttons.js delete mode 100644 examples/buttons/rotated buttons.php create mode 100644 examples/camera/basic follow.js delete mode 100644 examples/camera/basic follow.php create mode 100644 examples/camera/camera cull.js delete mode 100644 examples/camera/camera cull.php create mode 100644 examples/camera/follow styles.js delete mode 100644 examples/camera/follow styles.php create mode 100644 examples/camera/moving the camera.js delete mode 100644 examples/camera/moving the camera.php create mode 100644 examples/camera/world sprite.js delete mode 100644 examples/camera/world sprite.php create mode 100644 examples/collision/bounding box.js delete mode 100644 examples/collision/bounding box.php create mode 100644 examples/collision/group vs group.js delete mode 100644 examples/collision/group vs group.php create mode 100644 examples/collision/larger bounding box.js delete mode 100644 examples/collision/larger bounding box.php create mode 100644 examples/collision/offset bounding box.js delete mode 100644 examples/collision/offset bounding box.php create mode 100644 examples/collision/sprite tiles.js delete mode 100644 examples/collision/sprite tiles.php create mode 100644 examples/collision/sprite vs group.js delete mode 100644 examples/collision/sprite vs group.php create mode 100644 examples/collision/sprite vs sprite custom.js delete mode 100644 examples/collision/sprite vs sprite custom.php create mode 100644 examples/collision/sprite vs sprite.js delete mode 100644 examples/collision/sprite vs sprite.php create mode 100644 examples/collision/transform.js delete mode 100644 examples/collision/transform.php create mode 100644 examples/collision/vertical collision.js delete mode 100644 examples/collision/vertical collision.php create mode 100644 examples/display/fullscreen.js delete mode 100644 examples/display/fullscreen.php create mode 100644 examples/display/graphics.js delete mode 100644 examples/display/graphics.php delete mode 100644 examples/display/linkedList.php create mode 100644 examples/display/render crisp.js delete mode 100644 examples/display/render crisp.php create mode 100644 examples/examples.json delete mode 100644 examples/foot.php create mode 100644 examples/funcs.php create mode 100644 examples/games/breakout.js delete mode 100644 examples/games/breakout.php create mode 100644 examples/games/invaders.js delete mode 100644 examples/games/invaders.php create mode 100644 examples/games/starstruck.js delete mode 100644 examples/games/starstruck.php create mode 100644 examples/games/tanks.js delete mode 100644 examples/games/tanks.php create mode 100644 examples/geometry/circle.js delete mode 100644 examples/geometry/circle.php create mode 100644 examples/geometry/line.js delete mode 100644 examples/geometry/line.php create mode 100644 examples/geometry/playing with points.js delete mode 100644 examples/geometry/playing with points.php create mode 100644 examples/geometry/rectangle.js delete mode 100644 examples/geometry/rectangle.php create mode 100644 examples/geometry/rotate point.js delete mode 100644 examples/geometry/rotate point.php create mode 100644 examples/groups/add a sprite to group.js delete mode 100644 examples/groups/add a sprite to group.php create mode 100644 examples/groups/bring a child to top.js delete mode 100644 examples/groups/bring a child to top.php create mode 100644 examples/groups/bring a group to top.js delete mode 100644 examples/groups/bring a group to top.php create mode 100644 examples/groups/call all.js delete mode 100644 examples/groups/call all.php create mode 100644 examples/groups/create group.js delete mode 100644 examples/groups/create group.php create mode 100644 examples/groups/create sprite in a group.js delete mode 100644 examples/groups/create sprite in a group.php create mode 100644 examples/groups/display order.js delete mode 100644 examples/groups/display order.php create mode 100644 examples/groups/for each.js delete mode 100644 examples/groups/for each.php create mode 100644 examples/groups/get first.js delete mode 100644 examples/groups/get first.php create mode 100644 examples/groups/group as layer.js delete mode 100644 examples/groups/group as layer.php create mode 100644 examples/groups/group transform - rotate.js delete mode 100644 examples/groups/group transform - rotate.php create mode 100644 examples/groups/group transform - tween.js delete mode 100644 examples/groups/group transform - tween.php create mode 100644 examples/groups/group transform.js delete mode 100644 examples/groups/group transform.php create mode 100644 examples/groups/recyling.js delete mode 100644 examples/groups/recyling.php create mode 100644 examples/groups/remove.js delete mode 100644 examples/groups/remove.php create mode 100644 examples/groups/replace.js delete mode 100644 examples/groups/replace.php create mode 100644 examples/groups/set All.js delete mode 100644 examples/groups/set All.php create mode 100644 examples/groups/sub groups - group length.js delete mode 100644 examples/groups/sub groups - group length.php create mode 100644 examples/groups/swap children in a group.js delete mode 100644 examples/groups/swap children in a group.php delete mode 100644 examples/head.php delete mode 100644 examples/head_live.php delete mode 100644 examples/html/img/screenshot.jpg create mode 100644 examples/input/cursor key movement.js delete mode 100644 examples/input/cursor key movement.php create mode 100644 examples/input/drag several sprites.js delete mode 100644 examples/input/drag several sprites.php create mode 100644 examples/input/drag.js delete mode 100644 examples/input/drag.php create mode 100644 examples/input/drop limitation.js delete mode 100644 examples/input/drop limitation.php create mode 100644 examples/input/follow mouse.js delete mode 100644 examples/input/follow mouse.php create mode 100644 examples/input/game scale.js delete mode 100644 examples/input/game scale.php create mode 100644 examples/input/key.js delete mode 100644 examples/input/key.php create mode 100644 examples/input/keyboard hotkeys.js delete mode 100644 examples/input/keyboard hotkeys.php create mode 100644 examples/input/keyboard justpressed.js delete mode 100644 examples/input/keyboard justpressed.php create mode 100644 examples/input/keyboard.js delete mode 100644 examples/input/keyboard.php create mode 100644 examples/input/motion lock - horizontal.js delete mode 100644 examples/input/motion lock - horizontal.php create mode 100644 examples/input/motion lock - vertical.js delete mode 100644 examples/input/motion lock - vertical.php create mode 100644 examples/input/multi touch.js delete mode 100644 examples/input/multi touch.php create mode 100644 examples/input/override default controls.js delete mode 100644 examples/input/override default controls.php create mode 100644 examples/input/pixel perfect click detection.js create mode 100644 examples/input/pixelpick - scrolling effect.js delete mode 100644 examples/input/pixelpick - scrolling effect.php create mode 100644 examples/input/pixelpick - spritesheet.js delete mode 100644 examples/input/pixelpick - spritesheet.php delete mode 100644 examples/input/pixelpick.php create mode 100644 examples/input/snap on drag.js delete mode 100644 examples/input/snap.php create mode 100644 examples/lite.php delete mode 100644 examples/loader/loading multiple files.php create mode 100644 examples/loader/pick images from cache.js delete mode 100644 examples/loader/pick images from cache.php delete mode 100644 examples/loader/preloadSprite.php delete mode 100644 examples/loader/spritesheet loading.php create mode 100644 examples/misc/net.js delete mode 100644 examples/misc/net.php create mode 100644 examples/misc/random generators.js delete mode 100644 examples/misc/random generators.php create mode 100644 examples/misc/repeatable random numbers.js delete mode 100644 examples/misc/rnd.php create mode 100644 examples/particles/click burst.js delete mode 100644 examples/particles/click burst.php create mode 100644 examples/particles/collision.js delete mode 100644 examples/particles/collision.php create mode 100644 examples/particles/diamond burst.js delete mode 100644 examples/particles/diamond burst.php create mode 100644 examples/particles/no rotation.js delete mode 100644 examples/particles/no rotation.php create mode 100644 examples/particles/random sprite.js delete mode 100644 examples/particles/random sprite.php create mode 100644 examples/particles/when particles collide.js delete mode 100644 examples/particles/when particles collide.php create mode 100644 examples/particles/zero gravity.js delete mode 100644 examples/particles/zero gravity.php rename examples/{js.php => phaser-debug-js.php} (100%) delete mode 100644 examples/phaser-mobile.css delete mode 100644 examples/phaser.css create mode 100644 examples/physics/accelerate to pointer.js delete mode 100644 examples/physics/accelerate to pointer.php create mode 100644 examples/physics/angle between.js delete mode 100644 examples/physics/angle between.php create mode 100644 examples/physics/angle to pointer.js delete mode 100644 examples/physics/angle to pointer.php create mode 100644 examples/physics/angular acceleration.js delete mode 100644 examples/physics/angular acceleration.php create mode 100644 examples/physics/angular velocity.js delete mode 100644 examples/physics/angular velocity.php create mode 100644 examples/physics/mass velocity test.js delete mode 100644 examples/physics/mass velocity test.php create mode 100644 examples/physics/move towards object.js delete mode 100644 examples/physics/move towards object.php create mode 100644 examples/physics/multi angle to pointer.js delete mode 100644 examples/physics/multi angle to pointer.php create mode 100644 examples/physics/quadtree - collision infos.js create mode 100644 examples/physics/quadtree - ids.js create mode 100644 examples/physics/shoot the pointer.js delete mode 100644 examples/physics/shoot the pointer.php create mode 100644 examples/physics/sprite bounds.js delete mode 100644 examples/physics/sprite bounds.php delete mode 100644 examples/quadtree/quadtree - collision infos.php delete mode 100644 examples/quadtree/quadtree - ids.php create mode 100644 examples/sprites/add a sprite.js delete mode 100644 examples/sprites/add a sprite.php create mode 100644 examples/sprites/add several sprites.js delete mode 100644 examples/sprites/add several sprites.php create mode 100644 examples/sprites/collide world bounds.js delete mode 100644 examples/sprites/collide world bounds.php create mode 100644 examples/sprites/destroy.js delete mode 100644 examples/sprites/destroy.php create mode 100644 examples/sprites/dynamic crop.js rename examples/sprites/{sprite extended 2.php => extending sprite object demo 2.js} (62%) create mode 100644 examples/sprites/extending sprite object.js create mode 100644 examples/sprites/horizontal crop.js create mode 100644 examples/sprites/move a sprite.js delete mode 100644 examples/sprites/move a sprite.php create mode 100644 examples/sprites/out of bounds.js delete mode 100644 examples/sprites/outOfBounds.php create mode 100644 examples/sprites/scale a sprite.js delete mode 100644 examples/sprites/scale a sprite.php create mode 100644 examples/sprites/shared sprite textures.js delete mode 100644 examples/sprites/shared sprite textures.php create mode 100644 examples/sprites/sprite rotation.js delete mode 100644 examples/sprites/sprite rotation.php delete mode 100644 examples/sprites/sprite_extend.php create mode 100644 examples/sprites/spritesheet.js delete mode 100644 examples/sprites/spritesheet.php create mode 100644 examples/sprites/vertical crop.js rename examples/{html/css => }/stylesheet.css (57%) delete mode 100644 examples/template.php create mode 100644 examples/text/bitmap fonts.js delete mode 100644 examples/text/bitmap fonts.php create mode 100644 examples/text/hello arial.js delete mode 100644 examples/text/hello arial.php create mode 100644 examples/text/kern of duty.js delete mode 100644 examples/text/kern of duty.php create mode 100644 examples/text/remove text.js delete mode 100644 examples/text/remove text.php create mode 100644 examples/text/text stroke.js delete mode 100644 examples/text/text stroke.php delete mode 100644 examples/texture crop/crop - horizontal tween.php delete mode 100644 examples/texture crop/crop - vertical tween.php delete mode 100644 examples/texture crop/to see part of an image.php create mode 100644 examples/tile sprites/animated tiling sprite.js delete mode 100644 examples/tile sprites/tilesprite inside crop rect.php delete mode 100644 examples/tile sprites/tilesprite.php create mode 100644 examples/tile sprites/tiling sprite.js create mode 100644 examples/tilemaps/Sci-Fly.js delete mode 100644 examples/tilemaps/Sci-Fly.php create mode 100644 examples/tilemaps/fill tiles.js delete mode 100644 examples/tilemaps/fill tiles.php create mode 100644 examples/tilemaps/mapcollide.js delete mode 100644 examples/tilemaps/mapcollide.php create mode 100644 examples/tilemaps/mario.js delete mode 100644 examples/tilemaps/mario.php create mode 100644 examples/tilemaps/mariotogether.js delete mode 100644 examples/tilemaps/mariotogether.php create mode 100644 examples/tilemaps/paint tiles.js delete mode 100644 examples/tilemaps/paint tiles.php create mode 100644 examples/tilemaps/randomise tiles.js delete mode 100644 examples/tilemaps/randomise tiles.php create mode 100644 examples/tilemaps/replace tiles.js delete mode 100644 examples/tilemaps/replace tiles.php create mode 100644 examples/tilemaps/supermario.js delete mode 100644 examples/tilemaps/supermario.php create mode 100644 examples/tilemaps/supermario2.js delete mode 100644 examples/tilemaps/supermario2.php create mode 100644 examples/tilemaps/swap tiles.js delete mode 100644 examples/tilemaps/swap tiles.php create mode 100644 examples/tilemaps/wip1.js delete mode 100644 examples/tilemaps/wip1.php create mode 100644 examples/tilemaps/wip2.js delete mode 100644 examples/tilemaps/wip2.php create mode 100644 examples/tilemaps/wip3.js delete mode 100644 examples/tilemaps/wip3.php create mode 100644 examples/tilemaps/wip4.js delete mode 100644 examples/tilemaps/wip4.php create mode 100644 examples/tweens/bounce.js delete mode 100644 examples/tweens/bounce.php create mode 100644 examples/tweens/bubbles.js delete mode 100644 examples/tweens/bubbles.php create mode 100644 examples/tweens/chained tweens.js delete mode 100644 examples/tweens/chained tweens.php create mode 100644 examples/tweens/combined tweens.js delete mode 100644 examples/tweens/combined tweens.php create mode 100644 examples/tweens/easing spritesheets.js delete mode 100644 examples/tweens/easing spritesheets.php create mode 100644 examples/tweens/easing.js delete mode 100644 examples/tweens/easing.php create mode 100644 examples/tweens/fading in a sprite.js delete mode 100644 examples/tweens/fading in a sprite.php create mode 100644 examples/tweens/pause tween.js create mode 100644 examples/tweens/tween several properties.js delete mode 100644 examples/tweens/tween several properties.php create mode 100644 examples/view_full.php create mode 100644 examples/view_lite.php create mode 100644 examples/view_plain.php create mode 100644 examples/world/fixed to camera.js delete mode 100644 examples/world/fixed to camera.php create mode 100644 examples/world/move around world.js delete mode 100644 examples/world/move around world.php diff --git a/build/build.php b/build/build.php index 416fdb51..82f84bdf 100644 --- a/build/build.php +++ b/build/build.php @@ -8,7 +8,7 @@ $buildLog = "Building version $version \n\n"; $header = ""; - $js = file(dirname(__FILE__) . '/../examples/js.php'); + $js = file(dirname(__FILE__) . '/../examples/phaser-debug-js.php'); $output = ""; for ($i = 0; $i < count($js); $i++) diff --git a/build/phaser.js b/build/phaser.js index 0253f68b..96ca286c 100644 --- a/build/phaser.js +++ b/build/phaser.js @@ -9,7 +9,7 @@ * * Phaser - http://www.phaser.io * -* v1.0.7 - Built at: Fri, 18 Oct 2013 01:36:29 +0100 +* v1.0.7 - Built at: Tue, 22 Oct 2013 00:54:52 +0100 * * By Richard Davey http://www.photonstorm.com @photonstorm * diff --git a/examples/animation/animation wraparound.php b/examples/animation/animation wraparound.php deleted file mode 100644 index aef294fe..00000000 --- a/examples/animation/animation wraparound.php +++ /dev/null @@ -1,52 +0,0 @@ - - - - - \ No newline at end of file diff --git a/examples/animation/change texture on click.js b/examples/animation/change texture on click.js new file mode 100644 index 00000000..5b8487df --- /dev/null +++ b/examples/animation/change texture on click.js @@ -0,0 +1,39 @@ + +var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, render: render }); + +function preload() { + + game.load.atlasJSONHash('bot', 'assets/sprites/running_bot.png', 'assets/sprites/running_bot.json'); + game.load.spritesheet('mummy', 'assets/sprites/metalslug_mummy37x45.png', 37, 45, 18); + +} + +var bot; + +function create() { + + bot = game.add.sprite(200, 200, 'bot'); + + bot.animations.add('run'); + + bot.animations.play('run', 15, true); + + game.input.onDown.addOnce(changeMummy, this); + +} + +function changeMummy() { + + bot.loadTexture('mummy', 0); + + bot.animations.add('walk'); + + bot.animations.play('walk', 30, true); + +} + +function render() { + + game.debug.renderSpriteBounds(bot); + +} diff --git a/examples/animation/change texture.php b/examples/animation/change texture.php deleted file mode 100644 index 67aa9f0a..00000000 --- a/examples/animation/change texture.php +++ /dev/null @@ -1,51 +0,0 @@ - - - - - \ No newline at end of file diff --git a/examples/animation/from a JSON object.php b/examples/animation/from a JSON object.php deleted file mode 100644 index c42d0643..00000000 --- a/examples/animation/from a JSON object.php +++ /dev/null @@ -1,144 +0,0 @@ - - - - - \ No newline at end of file diff --git a/examples/animation/from a texturePacker file.php b/examples/animation/from a texturePacker file.php deleted file mode 100644 index 67420bd1..00000000 --- a/examples/animation/from a texturePacker file.php +++ /dev/null @@ -1,38 +0,0 @@ - - - - - \ No newline at end of file diff --git a/examples/animation/local json object.js b/examples/animation/local json object.js new file mode 100644 index 00000000..59dbf984 --- /dev/null +++ b/examples/animation/local json object.js @@ -0,0 +1,126 @@ + +var game = new Phaser.Game(800, 600, Phaser.AUTO, 'phaser-example', { preload: preload, create: create}); + +function preload() { + + // Texture Atlas Method 2 + // + // In this example we assume that the TexturePacker JSON data is a real json object stored as a var + // (in this case botData) + + game.load.atlas('bot', 'assets/sprites/running_bot.png', null, botData); + +} + +var bot; + +function create() { + + bot = game.add.sprite(game.world.centerX, 300, 'bot'); + + bot.animations.add('run'); + bot.animations.play('run', 10, true); + +} + +var botData = { + "frames": [ + +{ + "filename": "running bot.swf/0000", + "frame": { "x": 34, "y": 128, "w": 56, "h": 60 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 2, "w": 56, "h": 60 }, + "sourceSize": { "w": 56, "h": 64 } +}, +{ + "filename": "running bot.swf/0001", + "frame": { "x": 54, "y": 0, "w": 56, "h": 58 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 56, "h": 58 }, + "sourceSize": { "w": 56, "h": 64 } +}, +{ + "filename": "running bot.swf/0002", + "frame": { "x": 54, "y": 58, "w": 56, "h": 58 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 56, "h": 58 }, + "sourceSize": { "w": 56, "h": 64 } +}, +{ + "filename": "running bot.swf/0003", + "frame": { "x": 0, "y": 192, "w": 34, "h": 64 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 11, "y": 0, "w": 34, "h": 64 }, + "sourceSize": { "w": 56, "h": 64 } +}, +{ + "filename": "running bot.swf/0004", + "frame": { "x": 0, "y": 64, "w": 54, "h": 64 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 0, "w": 54, "h": 64 }, + "sourceSize": { "w": 56, "h": 64 } +}, +{ + "filename": "running bot.swf/0005", + "frame": { "x": 196, "y": 0, "w": 56, "h": 58 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 56, "h": 58 }, + "sourceSize": { "w": 56, "h": 64 } +}, +{ + "filename": "running bot.swf/0006", + "frame": { "x": 0, "y": 0, "w": 54, "h": 64 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 1, "y": 0, "w": 54, "h": 64 }, + "sourceSize": { "w": 56, "h": 64 } +}, +{ + "filename": "running bot.swf/0007", + "frame": { "x": 140, "y": 0, "w": 56, "h": 58 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 56, "h": 58 }, + "sourceSize": { "w": 56, "h": 64 } +}, +{ + "filename": "running bot.swf/0008", + "frame": { "x": 34, "y": 188, "w": 50, "h": 60 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 3, "y": 2, "w": 50, "h": 60 }, + "sourceSize": { "w": 56, "h": 64 } +}, +{ + "filename": "running bot.swf/0009", + "frame": { "x": 0, "y": 128, "w": 34, "h": 64 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 11, "y": 0, "w": 34, "h": 64 }, + "sourceSize": { "w": 56, "h": 64 } +}, +{ + "filename": "running bot.swf/0010", + "frame": { "x": 84, "y": 188, "w": 56, "h": 58 }, + "rotated": false, + "trimmed": true, + "spriteSourceSize": { "x": 0, "y": 3, "w": 56, "h": 58 }, + "sourceSize": { "w": 56, "h": 64 } +}], + "meta": { + "app": "http://www.texturepacker.com", + "version": "1.0", + "image": "running_bot.png", + "format": "RGBA8888", + "size": { "w": 252, "h": 256 }, + "scale": "0.2", + "smartupdate": "$TexturePacker:SmartUpdate:fb56f261b1eb04e3215824426595f64c$" + } +}; diff --git a/examples/animation/looped animation.js b/examples/animation/looped animation.js new file mode 100644 index 00000000..24a137d1 --- /dev/null +++ b/examples/animation/looped animation.js @@ -0,0 +1,35 @@ + +var game = new Phaser.Game(800, 600, Phaser.AUTO, 'phaser-example', { preload: preload, create: create, update: update }); + +function preload() { + game.load.atlasJSONHash('bot', 'assets/sprites/running_bot.png', 'assets/sprites/running_bot.json'); +} + +var bot; + +function create() { + + // This sprite is using a texture atlas for all of its animation data + bot = game.add.sprite(200, 200, 'bot'); + + // Here we add a new animation called 'run' + // We haven't specified any frames because it's using every frame in the texture atlas + bot.animations.add('run'); + + // And this starts the animation playing by using its key ("run") + // 15 is the frame rate (15fps) + // true means it will loop when it finishes + bot.animations.play('run', 15, true); + +} + +function update() { + + bot.x -= 2; + + if (bot.x < -bot.width) + { + bot.x = game.world.width; + } + +} diff --git a/examples/animation/multiple anims.js b/examples/animation/multiple anims.js new file mode 100644 index 00000000..316b91b7 --- /dev/null +++ b/examples/animation/multiple anims.js @@ -0,0 +1,20 @@ + +var game = new Phaser.Game(800, 600, Phaser.AUTO, 'phaser-example', { preload: preload, create: create }); + +function preload() { + game.load.atlas('bot', 'assets/misc/NumberSprite.png', 'assets/misc/NumberSprite.json'); +} + +function create() { + + var bot = game.add.sprite(200, 200, 'bot'); + + bot.animations.add('num1', ['num10000','num10001','num10002','num10003','num10004','num10005'], 24, false, false); + bot.animations.add('num2', ['num20000','num20001','num20002','num20003','num20004','num20005'], 24, false, false); + bot.animations.add('num3', ['num30000','num30001','num30002','num30003','num30004','num30005'], 24, false, false); + + // bot.animations.play('num1', 15, true); + // bot.animations.play('num2', 15, true); + // bot.animations.play('num3', 15, true); + +} diff --git a/examples/animation/multiple anims.php b/examples/animation/multiple anims.php deleted file mode 100644 index 5189cfe3..00000000 --- a/examples/animation/multiple anims.php +++ /dev/null @@ -1,36 +0,0 @@ - - - - - \ No newline at end of file diff --git a/examples/animation/sprite sheet.js b/examples/animation/sprite sheet.js new file mode 100644 index 00000000..589b2316 --- /dev/null +++ b/examples/animation/sprite sheet.js @@ -0,0 +1,27 @@ + +var game = new Phaser.Game(800, 600, Phaser.AUTO, 'phaser-example', { preload: preload, create: create }); + +function preload() { + + // 37x45 is the size of each frame + + // There are 18 frames in the PNG - you can leave this value blank if the frames fill up the entire PNG, but in this case there are some + // blank frames at the end, so we tell the loader how many to load + + game.load.spritesheet('mummy', 'assets/sprites/metalslug_mummy37x45.png', 37, 45, 18); +} + +function create() { + + var mummy = game.add.sprite(300, 200, 'mummy'); + + // Here we add a new animation called 'walk' + // Because we didn't give any other parameters it's going to make an animation from all available frames in the 'mummy' sprite sheet + mummy.animations.add('walk'); + + // And this starts the animation playing by using its key ("walk") + // 30 is the frame rate (30fps) + // true means it will loop when it finishes + mummy.animations.play('walk', 20, true); + +} diff --git a/examples/animation/sprite sheet.php b/examples/animation/sprite sheet.php deleted file mode 100644 index 3e491088..00000000 --- a/examples/animation/sprite sheet.php +++ /dev/null @@ -1,39 +0,0 @@ - - - - - \ No newline at end of file diff --git a/examples/animation/texture packer json hash.js b/examples/animation/texture packer json hash.js new file mode 100644 index 00000000..64c5e456 --- /dev/null +++ b/examples/animation/texture packer json hash.js @@ -0,0 +1,22 @@ + +var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create }); + +function preload() { + game.load.atlasJSONHash('bot', 'assets/sprites/running_bot.png', 'assets/sprites/running_bot.json'); +} + +function create() { + + // This sprite is using a texture atlas for all of its animation data + var bot = game.add.sprite(200, 200, 'bot'); + + // Here we add a new animation called 'run' + // We haven't specified any frames because it's using every frame in the texture atlas + bot.animations.add('run'); + + // And this starts the animation playing by using its key ("run") + // 15 is the frame rate (15fps) + // true means it will loop when it finishes + bot.animations.play('run', 15, true); + +} diff --git a/examples/html/fonts/HelveticaNeueLTStd-Bd.otf b/examples/assets/html/HelveticaNeueLTStd-Bd.otf similarity index 100% rename from examples/html/fonts/HelveticaNeueLTStd-Bd.otf rename to examples/assets/html/HelveticaNeueLTStd-Bd.otf diff --git a/examples/html/js/application.js b/examples/assets/html/application.js similarity index 100% rename from examples/html/js/application.js rename to examples/assets/html/application.js diff --git a/examples/assets/html/bg-footer.jpg b/examples/assets/html/bg-footer.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5189cb55d34567dd42b435038dea7cc1565628d0 GIT binary patch literal 216649 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�cP?pBhCqC8 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 literal 0 HcmV?d00001 diff --git a/examples/html/img/controls-label.png b/examples/assets/html/controls-label.png similarity index 100% rename from examples/html/img/controls-label.png rename to examples/assets/html/controls-label.png diff --git a/examples/html/demo.html b/examples/assets/html/demo.html similarity index 100% rename from examples/html/demo.html rename to examples/assets/html/demo.html diff --git a/examples/html/img/down-label.png b/examples/assets/html/down-label.png similarity index 100% rename from examples/html/img/down-label.png rename to examples/assets/html/down-label.png diff --git a/examples/html/img/flixel-logo.png b/examples/assets/html/flixel-logo.png similarity index 100% rename from examples/html/img/flixel-logo.png rename to examples/assets/html/flixel-logo.png diff --git a/examples/html/img/footer-bg.jpg b/examples/assets/html/footer-bg.jpg similarity index 100% rename from examples/html/img/footer-bg.jpg rename to examples/assets/html/footer-bg.jpg diff --git a/examples/assets/html/footer-bg2.jpg b/examples/assets/html/footer-bg2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4811c45082c3d39773f7273163d59d0d49d33df8 GIT binary patch literal 49940 zcmbTd1wd3?+b+CkU=$G%5HOJeL8$@hP+;g75gh517`h~-Bm^l*2?1$G8l zrCX)be+@p*^S$3W?|;tsp2f_LwfDO3>%Q*TYwtb$9{v3dx*+q&!W4oO6xbjV=)cVOrT9KMcDo80i2ON^0lNV)t zlbahUAi&AZ$1fnj&4J{($<4!c6MO_v+A3p-mRL876N zowJiDBS8Ac1RHxLrGEtfTefU$2zDKx?dXKX{TGaXd$yyhn>~&Ti*vMdb}+_))35zK z7;yK0Rzx@vpb=4aumDamw3fCrcDBLUIw?qtGJ+$VCKe_lH*ek)TenUZY;k9KaaGukN~fQFdsL!46l%otc;AHq%5z5qyVpw zlJ@y3~h~Zf9tgXdjA^B|9>1SBISTHbh2|$wX?JSI|5Y9?VRi!&F$=wQc_43 zB|~EiTf#mo!9Rb@mBu+(xZq4=9qeq7#{`R5{2Ks*rbfobHw}eRLIOs7C_X^}97@>K z*a*dMWFlb1b5q!amz$gMukj}TFT`;HKwN|f`Im_Ky9cB|L?=kkK#-_01WBKQAeU$e`bhQrGvp5;h=_=Yi4erZh?5BL zB{_jWoFE}3Av97l($k=klKs`ro~58TdzO}lhKBaSKMjUBaf0*|={Yj8bJUdNl+^zm z_@8e4{s2*uz*P_s5sVUoQ^JTSVZR%pSqS!b`@6!x;6%iT6DLXj*M4B(@ev9L4u`{t zVZ>kshZ7Mjr-V}xoufb!BW|Kq9x&KbOVDsLzB`e2&F2jdB?J+}Nr(|}Vj@5Yp}{D* z8Q>Jin`nu9R74L98F^G5`bH6_pR+HP#5zzjy?fthbWO@w8bJjZB_@dfr`c07P`rb2 z`@pHrK|~OM04RkM!GJ{ssSFfIZi#z04IiR?qf{QG7r*bb|MBgoPvo0-zdu1_;2bz5 z5kLbwN*!TKr}#(cf4Y&K4QVs}r-S}JpQQxSjDeX4{k{L6tw}j3V9aImDm0SF|7_r& zv*G@#5DkQ&fYi`F{}1D-wID=*4@64I0`L2OpbtTdhC&}eK51}&MW{^rKL!BQ!%;qP z2x5UUBz;i8lmA(}_rM392Km5|xlkHBnDjq}K&^>{vcUy6h`F4C%@=(Pf&%%UV7O-j z0R$9qVyaOURdg-_I)?F|_yTZnjDZq9DoIUEL!k{j#_=D-1KigHBB>zE9MBaM6afeX zB9hjJ6k?H1`=3W82t$Z*6i@+RkdTnYq@_{QqP2lvsL>FcKl*<{2@G8V!6g5{AQTa1 z1PcoSAx)Y_3L)SSybrkf|Jo3=BoG1(At7G^3=$G4ej@-S4bZ~o1F(RDD!%_$Ap~1U zDZu=S5vm}RGYY>FY!IFRhJXgpn?|tdU#DOHMkGuI)GA2`KnbFuMgu5lMSsTVm<(1$ zQkaB z2VwyQxcC2G5)4h?1t9i;q+!;?#E_3aaW-1UpE(Ajs7jr|Dj^|(W?_juHV%*kq2R=S zBlz!YYS;si?G(UCP!M1k27?$#03buSVtYTHsy`Ni;2?k^h24YHAX13HI7A}})c$WR zjg$!@NCE^=AXQb6#GoMoCZAw74qkOu#kkXoR58@W1Y8Ix+lS2uN`qi%Ac)P!hxorq zqlQ@gKt~!9f`I4I8Sl`9%hX@6LSbZT{P36@X|;4#32CgKpO4BPaKMeg13nOl2rvww zAQTY@0ZD)j7#j2dBPkHHaERc$Qz{g`z{XJ6DJ>+c5*p8T8iimZy+;iq3l0P_0b>cH zVQ4rQ4H`AL!2Q``fq^ynQXok~0PPeYnpBCAni3|A?<7?j$YSsafG(RujXIl!;89W- zngv1Pa~cf+rviSU|C;5eLC3-Yp%h4%H4p`%(P%{2CrD#qRn)|v!XWUc zBot4>3C2PMdB8>h4hZ~jjUbN_BFKV6BqV?_I0Xl>f+Po$S(3t^0q%#5NyD=m`Ngut z`2ojL5@H0DNgvW65NlxQzY09A{lGgJ?+EuFz)WBz@jVhM)q5oDOvDT%=rrh*q6#(! zA3~~1%N9cA=NAOh637CyQ8Pjit?tA(#-@^T9gTOw)!+6MRA8PYgf`IEDXmci4Nm{!ybND{hhEP3p944q6|;1>BdKz{I~34+;(pK>~vqgGi`ULXdz@KqyiLNOvYk z-!ygS6?U3iocVnIHhV|j?9jKo<~Jt3=NhN`D)$g+Y0SU?5C~))xn(ienvDj* z`MsU(rkB?1mb>Mio6Qr>(Flm(UFtNvuY`n(CJIUeq(Lf35X^*}{nH5fg@pWke1J_-8ABKtlXUZ4oW!2SHvXkq3E7zld6rVq$(f_{RJU{Knz z^QqCmM{pJ&pI8{7z@yV3rAs1m7NV5%og1?*VO?%}4hP%4yT75xJ#X>#x?RtTBk}n8 zJ@<#38{gJO=&QPqikg-WjOZd_QcNmex?_&YwKx9O0`R#-ga5&=^Kd8%%a!0dv)dK{>8_sZS#j3U3=nY zP0I_(M&11F6KWqd!X7Nq89kwyD^&mf295PAK(nw)gX@?IDH3EZ3k-3L=g$I74Fj0q zX~Zf7Krm7jleS2}jN*Mc`IQ@wHcZ{G)tk=HbB#ThhN%|b#y{mNITI+ScA&6Wv1#fWA#0X#x2jtI*4$68dam|EuGHNIjnrwI?>z>bx7>C&zlGO697qvyY(6-$ z-5YkzshfKJbHsChV`?&sOYW{%-Os)AspE4EgO9wt@w<~!i*8=p-9DN;sh2Bi-D~rh zkXWZ%O+v#N356ys$8!k~QE6cAM@kIACa

z!{$V$<`yg$t?p}gZ-#BO=&i5Rd+j-Fti@+#(VJFzX^G3suI;5JukNSNyB0;blcd

1Q8DJXud^5NsL$(Vb%JRlBqDk?zq{ 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 literal 0 HcmV?d00001 diff --git a/examples/html/img/forums-icon.png b/examples/assets/html/forums-icon.png similarity index 100% rename from examples/html/img/forums-icon.png rename to examples/assets/html/forums-icon.png diff --git a/examples/html/img/game-controls-bg.jpg b/examples/assets/html/game-controls-bg.jpg similarity index 100% rename from examples/html/img/game-controls-bg.jpg rename to examples/assets/html/game-controls-bg.jpg diff --git a/examples/html/img/github-icon.png b/examples/assets/html/github-icon.png similarity index 100% rename from examples/html/img/github-icon.png rename to examples/assets/html/github-icon.png diff --git a/examples/html/img/gradient-bg.jpg b/examples/assets/html/gradient-bg.jpg similarity index 100% rename from examples/html/img/gradient-bg.jpg rename to examples/assets/html/gradient-bg.jpg diff --git a/examples/html/img/group-item-hover.png b/examples/assets/html/group-item-hover.png similarity index 100% rename from examples/html/img/group-item-hover.png rename to examples/assets/html/group-item-hover.png diff --git a/examples/html/img/group-item.png b/examples/assets/html/group-item.png similarity index 100% rename from examples/html/img/group-item.png rename to examples/assets/html/group-item.png diff --git a/examples/html/img/header-bg.jpg b/examples/assets/html/header-bg.jpg similarity index 100% rename from examples/html/img/header-bg.jpg rename to examples/assets/html/header-bg.jpg diff --git a/examples/assets/html/header-bg2.jpg b/examples/assets/html/header-bg2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5dcabec26161637aa1de93e89c05f65a99dd301c GIT binary patch literal 107149 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 |--Em$CAsXVPJ?j@u%rg=(4 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 literal 0 HcmV?d00001 diff --git a/examples/assets/html/lite_header.jpg b/examples/assets/html/lite_header.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0aa2e2fc3628ad1d3e0f6c38f43ff1a7f4031aa2 GIT binary patch literal 13883 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 AaR2}S literal 0 HcmV?d00001 diff --git a/examples/assets/html/lite_header_2.jpg b/examples/assets/html/lite_header_2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fa1eb718a376584323dd157e638bc493b2725ca3 GIT binary patch literal 2550 zcmcIk4R90H7QVZiq)DN&Aw0$Z?H1|_w#jbNZj(r9^V4WkQ`^Wq@rgoy7P``8W3t#% zD~+`xNRb~StyBedGQ*pZhrkSIncAquvEwj9Vbs_TW9chjT=2c6Lw zPj2>}bME=O=YIF55~**&!m4I&4FJ{EOMo2AQfdMyZR@@3HUI=jpt=r#)VEl$K@fr_ ztu_$WxP82b)p&Wow%Hxj(i%z&mR2+e-QIPqKzP`-T%eqsJl;fkZY~al3$hVxY}gy(f&#|}2r;7D z!>qA}^nipi9VekGp zk!T33F+C9C;Gwu1ZM=8ApA87rwsI1#XndT{L{U_k&T27I79GVHXxgCDneBRm-Dt4U zjKN~f#<-rZ!LGNJ=@>?DwwP(UN^dk;%m%%_1Ugok4U94CTO9}s?tqug=H+1CjBn{5 z`kJgE)-CX%-#HB)52o3B08=@OI8ITD6%uy zhr-P5VFU2Wgy7vs{T~#j5f6NEcn1*-{6m7ta`OO?b;AF<0LV!I6hEg%KnFl)2!k9Z zfnQ7_m53yjNz){g<>bh7a%2icZmvQx_gX?Q43kQv3YkoiH%BoiZ{7`%=FLkRWv02) z(zSjwQtCsXlmj19gds|RDiKVHqz1ri07=vA(*h7wg2{iYgxf=!=cg;gQSQw;2CD$uCb@_NYD4ef#SGisKz`?-<-O_-yHO&p)~LZ9y`4QRuf%?GA>j{L~~Y%BR@YAR1ui@zRq?6!)ejn|aHRl|DOg;eN>@J% zD*V)eDCRr#@5W7o`7&+yVc7?d_|6PhZ}j&M$r6uGJ`Rc*WKrZn=dK%S@Z8G5sVjve z{=)ZDz~TTWdwKp?_0eJHfr}>>U)ee_oC0kZc2zG*fyrJ!Kl}~nKRPl!psHy`5Shc7 zg=>^q>p!9FpN0h77=BjO;d}L=W8beD`F@u@1>z$Wo>B7Mt((Qs-QB%#Aw1hNDhyMp zlu7zd<++>LAJYncBYnm!i&F{YS4Hz2trQ+~n9wTm4FD ze5G`tuk)$4se-3F?~S+S#M!Qa)_Vt9?HfJ9oAjj=SbOB)$p1VWceL+4w4g`9+@$12 zJsxiY*|KHJi^oSx6Wlwe*mJi|EW^&W4)n~~{K6>FepVA{XDDi-Ej|$6)@#L(O?N7H z9~|47)S&W3iAVQtDlA+)@z{y<__(m}_MI2w4b;cz*olE7y88;e=nN)m<%w-uzUb?0 z*)D0c;9EcGu;m*HJi>`zR`joez!I+vd}1nawSdiQ_AZW*sR<8XC-5L4F-iCzn0=Qxq;N(%k&%|Z)TKk$0b z*XM^O9~pYMX2|}ix+Wn8yudvr#IzpOoA_&Rc4|G*m^K8npNCbfS{CiQJe{}e!`M&b KZ33+L%U=Q2{VKEo literal 0 HcmV?d00001 diff --git a/examples/html/img/mute-button.png b/examples/assets/html/mute-button.png similarity index 100% rename from examples/html/img/mute-button.png rename to examples/assets/html/mute-button.png diff --git a/examples/html/img/nav-icons.png b/examples/assets/html/nav-icons.png similarity index 100% rename from examples/html/img/nav-icons.png rename to examples/assets/html/nav-icons.png diff --git a/examples/html/img/pause-button.png b/examples/assets/html/pause-button.png similarity index 100% rename from examples/html/img/pause-button.png rename to examples/assets/html/pause-button.png diff --git a/examples/html/img/phaser-examples.png b/examples/assets/html/phaser-examples.png similarity index 100% rename from examples/html/img/phaser-examples.png rename to examples/assets/html/phaser-examples.png diff --git a/examples/html/img/phaser-logo.png b/examples/assets/html/phaser-logo.png similarity index 100% rename from examples/html/img/phaser-logo.png rename to examples/assets/html/phaser-logo.png diff --git a/examples/html/img/phaser-version.png b/examples/assets/html/phaser-version.png similarity index 100% rename from examples/html/img/phaser-version.png rename to examples/assets/html/phaser-version.png diff --git a/examples/html/img/photonstorm-logo.png b/examples/assets/html/photonstorm-logo.png similarity index 100% rename from examples/html/img/photonstorm-logo.png rename to examples/assets/html/photonstorm-logo.png diff --git a/examples/html/img/prize-bg.png b/examples/assets/html/prize-bg.png similarity index 100% rename from examples/html/img/prize-bg.png rename to examples/assets/html/prize-bg.png diff --git a/examples/html/img/prize-button.png b/examples/assets/html/prize-button.png similarity index 100% rename from examples/html/img/prize-button.png rename to examples/assets/html/prize-button.png diff --git a/examples/html/img/reset-button.png b/examples/assets/html/reset-button.png similarity index 100% rename from examples/html/img/reset-button.png rename to examples/assets/html/reset-button.png diff --git a/examples/html/img/right-label.png b/examples/assets/html/right-label.png similarity index 100% rename from examples/html/img/right-label.png rename to examples/assets/html/right-label.png diff --git a/examples/html/img/space-label.png b/examples/assets/html/space-label.png similarity index 100% rename from examples/html/img/space-label.png rename to examples/assets/html/space-label.png diff --git a/examples/html/img/twitter-icon.png b/examples/assets/html/twitter-icon.png similarity index 100% rename from examples/html/img/twitter-icon.png rename to examples/assets/html/twitter-icon.png diff --git a/examples/html/img/up-label.png b/examples/assets/html/up-label.png similarity index 100% rename from examples/html/img/up-label.png rename to examples/assets/html/up-label.png diff --git a/examples/html/img/version-button.png b/examples/assets/html/version-button.png similarity index 100% rename from examples/html/img/version-button.png rename to examples/assets/html/version-button.png diff --git a/examples/assets/skies/cavern1.png b/examples/assets/skies/cavern1.png index 9002fae23e78d65cec7ac706f2681a65f860bd67..15a4ba97164ae2279f02f33601daea11199d37c4 100644 GIT binary patch literal 4757 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 diff --git a/examples/assets/skies/cavern2.png b/examples/assets/skies/cavern2.png index c20943de1c666c6728fbacdfe54e8906e8d5fd4e..9b2ecaf1f653980440f74a7e470a5360265c321e 100644 GIT binary patch literal 4757 zcmeH}XHb*b8pls05_<2520=gsLPsF9gc7M($Y0_PS9i6C%21MnFyIv{^KQpPncyF)6Y0!fk7G>ULy zlJ|o-I4JCwp_vLE;Zt|nHjtQ?`r`F`mQ0NF|WJ8qXYgJ>LOG@5z>nd6N7 z>`TV&gRZUmyzWM-+1%!8Q$ssC52-=JU@2&fX7NDM|S+jpwjrXYF)PD-HX9gXX ze800X%DF`u7?_%z>^EyfIk~htgl*yL&rlsUFMJJ0Zmh1ne=#l@p?oUB1iJRV{>`#Q z?!J!O%-3CqJ|voKRIzSvh;<)qGEF!GjA>_=N^nh-9G&4P}la^@lm;T z2HjCLP<~z)5}G7maLSG0i@7uxE`U0|3czBuPu)8iCI*6M zL&-$9my5|dBi`wYsZwn`qmz9(6zc7tap?GResf{Us*|aSV1^pBF!8#G55_`VZ{Q>n zm;^JT*2L>DP@Z^6`0H3cn}g;_Y8WNk8(6qKMr={Xe~)I&N#o~9+ATo&+D3GZiPD{j z3LBkwY){dY0u7Pt#`js@o()jSOccl_zV&}1qH|L{XZmfiC+A?IF1lHf`cVj`(s)5p zp{W7&_^2FnvRm8ZgC%UmO(NyTOBkx-R@^!s2SRxwjHt}&&_ER2WxoLiXMwZo#}vT# zNvd)WGHWn1T(_y0KA2o!{zU3I_t!=tS7oIb97ax}mnV@I!4(>dZq$(Ei9;((Q*P}s zef$vH#nWZnb=)^*D)%Sb2 zW;ZTl+j`zic#3OEb&AnFUD?3?L8k3+K@OH%E%5}ZG>2^a$R?(MSM`TX&GtwEQ}f)? z`zhTbo`RmM=N^3wc+NeXvfnE0twUGajLFBej||I!Z0yneknsG&5MKApjt;bV`JCCgsnPikdJF-wt35tT(?3yboKMv7SNm+afHiG`=_ z!pe;8RqQ4Tnct-r+ZU0J&Dn|C;S043Vv6tuK3Khn;f|YejE)T!4c6#~HrbEQOw=^N zS>1#ygXF}$*o&ioh)`>kdfYy6<+5yb`leWQyiQSJjwV{gOvRzncIl3X9&94rZ|!b? z74x)Ae%ey_jS;@jhsO_#=BZjxl-y5x6{V)7;)*fFHpM1$wd!T_`J}vBqiV=DHKOdwRqM81a4f<4rK04PW#U*X*dJ?4*`Jl)6 zM`O;L=bBDVNKSY+c{e?fVw4h>GPj(yT*$Pwq~smW)3(sIXl{Sge!smpLyf4T)Tca6 zoF?`WN2{Dq1f7s07m%O1n^sJo$a7pE*IbM`q3M{5vp;dF(zujVdZ@R$v^t+VpJJ74 zRh-p}Zz%tX{F+=?C0st$&qyyLdy~Ul@UDXRs#j$V3(2*~Vb8;U+|+@w#|&^3i=7Y) zzx2ePPwTkWNG9#>f?n9G<^8v*;whIRmty1N%&)a6 zr0FUUMVp3OYA4MCR{Tzlg>1{&``n}Cm zrylFQ6h*Jml5lIZbp-zDv;@Kpk>pU?S6-DHShVW$Sy1js~!Gf|`Hs}kF1w?no&K|bLS1kVr`VG!Z8XMHW?iulU}JuSNXmx_UTgPYkD z1Ac?VYo*tw>Pp2uTRz&p@Qj%mQ%jLIkfuasCv3mSLM5lUZY(M&>?0&07jI3qI?N3QHYQd7PRC48}DA%P6Z`D|^TMQGm zvIH_O!@ZStv}%{r zCFeCOkbc2*mI?m7N1~52mLQ+qAj^99SQpPbq?Lu&N`+W@MVzi{y;k=W;x)%=&oUJi zHaFBaf65w%a2$Q=@-3Pqs>>gDql}L(n8ts#UuGz1N;Jl&^<~D;ohOCGjg+$;9$g+Y zA4cS}oH$a8(mtedTx1^@e8N6@{K@>v7b7|%tzCv*9Z5!09=t?8t8veNO>5WI!#>0= zW4~e57rKU@y7aAG>|78Ht@)z*sfX@Vv%0DK`UTw{VsF{w(c`{ux?Z`eR~A<^vzEH< zeX7*T+i$*^p^IS?Cc#1OqrB@8>(as6CiWhgGvR1H@M4SfIZ&Qmo!$P&yG`Q~zJ|e* zGpo#_tNYot1~1kX&=IXoEnPrrdUX+E9+NYr&t23fm8nof%+TfoA zwtIWBGKrmzWsHjK*h*SSrC&=Nn1=ye(8NBcXO6HC;W)sRNu7!#p@syrPIsD*XQd3hXTbuKN#h- zp1cCTDzokR_3?_`+x+!p;pF6PC`03g~tkKRIRw#rW3gLi4c%Tr0y%1p-5M^c*V`JUN$tlXs zE5auzEFdZ@A})MDMnn>^lmGYgH-Z0m0vJ`pOTj+x`pS{o2|KMa^ogmV0XAsxQ#Xve zVdvL){7IdtN9QUR#&B&d#BdidGE?EsT#8IWP_{jckVt|775;tvFA4lB^LJT`D0xl>UU}pMgWRFzzZiy=>**e$SsB{RxymNPqCI$aD+#m0?${a_p*A*sh+D uySsWu{2{vvj(u0baqcR(n%xBVjS*m+i1=pyhScwuv8j=jVHwK#+CKr%hcF5N literal 1809 zcmeAS@N?(olHy`uVBq!ia0y~yU}|7sV0^&A3>0DF*SQ9yI14-?iy0WWg+Z8+Vb&Z8 zprAssN02WALzOxMLqjtI!><$|eTjjgtc`);%}WLb%Xth8qW_N7UAAIiU}gyL32_DL z;bvjvWntuFVH9Fv6k}zSWM`1(WRvCLmf`1@78I5e5tkH`mXuPIl-H0_(Fdv@1*0J_ z)I-3-#HF}0|H}0ZHr9O{z`W4y>EaktaqG>clY&f+0?Y>`Bi235_`mn5qVkuMCJPr` zYg?qs$abV5!GVW^Bx=L=d#{;Xfm$R4csdvll0+Fj5bXkLGE|TdU~VFbN;$wxwoYjg zNde|02LlB*7LuqF4dog}3M2&%G&CnL$_J!4kQ_Wf4T{Wm3r_&Ul*HfxYH(t!ahwPY zQxZK143!q13MX=P{%BJIhAD|j2oy?^ADGEbMB-#81$nZQ0=ceDOM7O|(6+5fXWCok QCk#N~>FVdQ&MBb@07=~XqW}N^ diff --git a/examples/assets/skies/chrome.png b/examples/assets/skies/chrome.png index 414f578e90a4f03fc5c2c662a760c8e9a3d99559..3d66c32dd1cc0e7331e9f07f0c015558195926ae 100644 GIT binary patch literal 4757 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 literal 1809 zcmeAS@N?(olHy`uVBq!ia0y~yU}|7sV0^&A3>0DF*SQ9yI14-?iy0WWg+Z8+Vb&Z8 zprAssN02WALzOxMLqjtI!><$|eTjjgtc`);%}WLb%Xth8qW_N7UAAIiU}gyL32_DL z=|B9xcIW?`4gaH-|M#5t-+bzSwVwZ?&Hq!vbp746tSr=3G*zVJWCVmoSUGrr>PNw7 z2n_WQ@Gx;HuFSu3eZ#J^`BlKY(Cz8s7*cWT&83rqOpXG~2PGrcJ=d#Wzp$PyH&I|Pb diff --git a/examples/assets/skies/fire.png b/examples/assets/skies/fire.png index 759fac2b7e9d75f58c2ef6d201505c196f9e70ca..8aeab72aeffb78f176a2ab997cbfe49187f5db55 100644 GIT binary patch literal 4757 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 literal 1809 zcmeAS@N?(olHy`uVBq!ia0y~yU}|7sV0^&A3>0DF*SQ9yI14-?iy0WWg+Z8+Vb&Z8 zprAssN02WALzOxMLqjtI!><$|eTjjgtc`);%}WLb%Xth8qW_N7UAAIiU}gyL32_DL z0Rnk8CVL*%cp>(B39k8ay!%!7?`sMDHxT{jBlI_e|4$3g?**K{_OSi90kVG-jE2Ba z4}sFSq6JH4fBJN}AXM=jFfVj_x;TbZ+gh{_lONsQl%m$-+g~ z+7_uYvK?tiaNyw}iQ4e}-fJdTpcV-Mo({%?BvD2WM7w~R3>72*~2WGMpkvQ2&L7wcSK(1@k(w^Bfv~6qBnf6xs Q2?G##y85}Sb4q9e06+)`=>Px# diff --git a/examples/assets/skies/fog.png b/examples/assets/skies/fog.png index 76c7386ca1e92de32a62ceb0e06256f489d87045..3108b97e69c54f87c0288cc0194cd032e6c20bd1 100644 GIT binary patch literal 4757 zcmeH}cTki`8pazzhMXjdxI>1K90i6nLm0BaAcKGsgh3GrvXTS`kR&XKNE`=2B?l37 za0GM+0)h+z5{Dp31O#shf|3qzZ*O;N_v-Es{<*6As=B)BdEf4SpI`Ua)d{C8jaiwF zG64WsO;83l0MJ4KID}!K-B&7#0}%TiqaVuQ3INPUzBd|>bC(|gCaVib7dSB z`6{8N8$xDa$v`PvtKwKn5XU*+N4K@KPR_{bMKX!`0S<2!CS z2B&0!i{$kWeE>(;%nqXgj(3E4X!244^oU2i0r1iS<=v-m8Ul<0;Py0Y(EvlTK*7Y` z69uYj0hz+VTn!jlfP!^=j5MGN11{~NqQT%sHsCf|v4{VBqLO0{wofX%8cq_^FpP9$ zkoAYy+shr7qL}cV;8t@z@tT>2UT-`-e%|6)okQpq{em~QiZ)0;K( zf@9sc8E?3aen>Iiu4Ufa7U~meF>xbdVBFKzT>i-hIZ3NZ1tJNE+tRPZd-u*yO~`D~ z>P)DDs*5@_VX3mk&hE5d%p^H5f#j(T09NXJ8{bJW(BizJC%c38KI`rn=ZOQHr^#)9 z0L~hS$)P)HblVsJFvyF9Rp|?^HS)`l>5nxY9&Kdac2T>55Nl~da3Gk@SO?J=NwEft>xiaK7O4Ua)(&@J|9B~yMiKlV9i4jd^ z;LDEL6mCS(aV3gDU&nJ>i#up%v|bLmF{TM$c2V+JREkc5J<|;+@E9 zYwdR|Pm!cz^`ke8?lZqVAE=msu+4q zOoelVQJshZKu9PG49AWXu7IiVM1f-HA>DD2W z#}CoHT)jrUmu*DnWlHcWsH383uSd>%S3@-J$UslD$IK9BnrD<}1ZRX-9GM7idj1bL zZKtGcIxd@%*1orM-uPqYN7}U@7S>pv=(c#QlmMO|!jBaQ;(wH7 zUMSF)DA0yhP*+^cn#*R-_O-*nh_GussU1w|rs)#tf-re>Noir}cqy~ps$C~KrR1z_ zc%_k@vh8#U8HJTq(BL7p?m+!eJ+Y-l5sN*$Vm4I`8qh>H1bE zv%5e|u#B)bYgz1%k*X~ckGqDiU4_+U?FiK+YL}MeYao?PmF;V6R_}P~LZ-9)H}3{o zGR{dAWv)it9OwQlJtZwzsA5i1^li^fA5=Dr;Z zm)}9}_t-zHlM=HtNsTNatofWPxkCYv$yQR8kN8LBG*Y zM(jx!TAilFrhQs{S|3QzO9)GtSu9vA=h#?~3Z)CR%(cwhy54l%?;6Nf#cL}LD$U{N z@Pqh?T9-4yXJm-Q#AhBR)iY-b9hQmpmt)RoI22&)&N$Z?RS+t~2kI*7ia3i%mT8t{ zxdYhds-KCki6ylHRkK6%)JmccG29jF#)qwaRoT3p){qwdJp88}Z3t`JFk6|>8KH

%##lZq=}Po!d}4xGRHs~~ zjvQXFb*#N%#x!u<-+3~$cb$N*!8a`xQy(p>EnirU8@=~N<(_n|gYuQP&F#qd*0Vjj z%=gk2yeG;dtdLfb*r#)%^6v7f_7#IwwFN!hO3V&jXRusqfV}E zukEyI_RT#PGl9G=x_5prbgu^#;lydMv=k&cJ9Hbbuozf9KEqX^(F_%S2rCeZ(ITi77;4Q@UgKJ`Q1dC)$T#S9JZn9rI=4g*% zrfN{nDDujL!8d~pgK<1o(Mscytf?wYr&R7Dd_?`Z%5&XTIZuZ-{TKqqxmyiI>C-xuApERp|?M!)~kkyy;3fanI+wjEV)&0&T2k}*UaV3 zxeE1B($;KHjJ}`I9E?_@+UhORRh^gLvbvdzC{&+g%wRg>}^1}|YOhiQC zNAww~K^UYO>tXNtvMZrOBcm+$MAy=rnhxqM^}C<%?JaRNaZTPP7Q~v_%L-vWG?ZV| zsD}H8P?@HA4xflUO9;Cdvd^rHXpjiC@Qys&*b&wEl*W6J*^X&8CVX*p zaLL&UBkwTr)b(2|K~RS$;btW_l`oU$`jFIU@T_2*Z^z5*(K}B{%34V0yFGh7=Rb_g z<~p)vlxBX&WV_5dJo1Ef;`EcH^)H50`OGdUYF#uDNqX=S{;b}k=ryHFOBekRy@vjV zR$J~Jd+Iv4dAVmJRL9Rp1UG zrmN`J7e?lz`qHo~-AROWLU@GS*HIVhePY<0J7wY`yYJ`c9D$R)hI@%~TJ>5Kr7=G`0U z&(+W#Ygi5S-FUUJKEXQ{5g@rk>8u+Ll3cE+x2iw4rnjU&j2w&W*LB<-9r`?a{USLi zZ?$LCc!NGBx_dWuJ%t^4I3+u!GnO@WG54g7hQ^d`z|Q=35wiPyw?r=A?)}})Nn^1R@jRgRq;sD^H0rb``jy|{l_XeWsWx7A0u%GFOire8Ffu6q?5Mi-;%)2}|?;Ak4L&|Nrm*1pe0vpi~U5g!sN2tojM)2?Id)#Kb@!9X#@>55n2J z|7$${q=wg}a#RVRIChugIE(2S$xsqOaPmP7P3(KvlF^n3eH68J~vAF^;K+v(8% zoZ@!@@ZU)PTKl(wD^TTA0>2gYYv6Zv{#)q}ZhpyXkCxH%_@mA5fnTTiU5$T|{shB? z1Ik`~DE+^n^cO7u3LLzh{y@R$<|+MtKYwxb7f}8r{mHum!!5{H+5@%9cA!=v2YN>C t9_SefpgB-*tOp8?{XoIhA0)VM^Z@0E$F}h_XMDemO$;p!DiJPGe+M%jI7|Ql literal 1809 zcmeAS@N?(olHy`uVBq!ia0y~yU}|7sV0^&A3>0DF*SQ9yI14-?iy0WWg+Z8+Vb&Z8 zprAssN02WALzOxMLqjtI!><$|eTjjgtc`);%}WLb%Xth8qW_N7UAAIiU}gyL32_DL zQJXSbt-D9PsYatRN24G{Gu=lk)mdKI;Vst02fOF^Z)<= diff --git a/examples/assets/skies/sky1.png b/examples/assets/skies/sky1.png index 18a30759a8195436cf3470bc5fb0f6839be72cb3..f439c0caaf94eaf287388e63adc19cf285cc3fa8 100644 GIT binary patch literal 4757 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 literal 1809 zcmeAS@N?(olHy`uVBq!ia0y~yU}|7sV0^&A3>0DF*SQ9yI14-?iy0WWg+Z8+Vb&Z8 zprAssN02WALzOxMLqjtI!><$|eTjjgtc`);%}WLb%Xth8qW_N7UAAIiU}gyL32_DL zG3Z~Y+dfCDZn|38B<0**`P6oqm?nvkT2b!`A?IQ~t6XlQ40g?A7R5LQi3p(jQ7{?; zLp=maY0Wvzhn=fJ$s?djqeQgQ3erIUh8jsnaFB_q~7&G^6fsiN|ilO_un zU29vU%E)%4A;E!%gCuIh_j|9IT!C671b8|a50XR~JrL~zYBE%i5MXX1iAp)ZOtwyG z5lI2&BnJZpHWreo6Ak4WMhYYa4m30;Fv=fj2YUbj diff --git a/examples/assets/skies/sky2.png b/examples/assets/skies/sky2.png index 10a85c76a15900c57f5a57e5f88f7fdcc94069f4..6dd8f580720b5f3f328ef62f00bf235237ab7cc5 100644 GIT binary patch literal 4757 zcmeH}XHb*b8pjWUB=p`y*w8W3t3YT8y$S>gVxb5@5hY93*!Ms z004`riGeKuv@ihnVW70TN?D;la<^mfHF3NM029}@Mgy|$@B_eTeHMi}deqY=z~`c; zk1xy=g@XC|`*@r^?+!rF5Wx)caz6PhWQ5L0Axz!UP9#k*c)vd4!qqr|%hgO{txws`p1J=V4h{K{}$a6pw z)WZY?WJ^3*;b6=T+Z;0U1P$&w4LKnBh&dF;4fH}1koiE*hz3W)-7?OR05}iRTYdnX zG7y(Tw^ix3KmjnwiGWw=3$E1j%aG|0*6$y#XWDdDyN(oZYCy6h8PDJj`a2&gy@r&I z?x+xgJIlY-6H+1Dct)rAvdT5sKV{YSW&7#^&90ZOjbNbDZ-sKXhz!NjxZc2sB|!Ny zqt-?0P3Sn|#bK{vxot$vlT}R=ZEv7q_9jA0+Wz}AVon%6OV(-yO4l}{YmF6eM^xHq zzh!=cA{DA1xNdZh>CKq{#jHf$9Q+&q#|N};s^!kSDe+_*O4LEMD3Cw!LzJ7&E66oB zA|D-*VMuXne62vh{kOh*x}ZwDZ*6al=76|l*p13Bf(YA@4>p= zgtTqjIWvK2_Gy)AdiM+^ef#@awj+hPXb#oH*d(U&4rnf6wQovZiYpJcdS}s@Yl_!{6V-Wb_LcwB2_VZJ?Yzv=)(crq7uLr~A zx6oVOUkg@^nKATL%;NM^W(q&zrK+C~LP)-a`il+fWTPG`&n49*ef)YdsS9zx*XU;> zwwq_0PfUtWdN+GF-favb7}TAIjIV(6VUhc-?WYqc2kxudUdxG=rbP z_v6Q^osS0{mmwAspSqh?P94v8TqM?Bh&ry}n1``HezMA_j8G=gS5sC~z)?W5O0g=* z?!z`#{6c(1EUFf$m>!^~mJ_{+VJ=u#K5X^N^2WuKx|FbIVLxwaLs()4SxbbD3x!{N z?9Z)vOmj4ga%WLD?Bz<@tUMOe$=*4jJW1qgKh$)VV2AH9#`0lF7bBNrM_TKq%mP;ZPL79kuM+T8_=bf->cd5~#j}es!*^e++&z@-sC@BFV=L;N&2*P8 z)7?}Bud&i_Ym{{a_Q{NxyqkQoLs@@CbzWfcn#(6XozFV{cPDiw5$dB#qmHLvtCOo+ ztJ|#`eX>tSjiIiJ?VQ;O+35lWI0+goZCr$Ygwwu_^^hwfFA{V$sqUXE2N(2j=8*Jx z^b@a@U7M~i6Y*^Qm{caRHj_a~rkrJsIvW0=?+wJ|y-R#!II~n#Oq4^kZh~(t=0KNX zx@ut8FzVu%!B>McgHb$I(OTo7teGlYr&#VBVo3d&$}`<&ISo;4J%OvyhU=HGMZ_67O_@GZvR7{9bU+LQ(}oL zP$GdbxIw4^D=Ocm))hN|Isq59S~7uKhTQs?T&o%^{!%$lW}0+eswk<}g2iG4ubIu8 zbs6TZq^((}7$q!j9Vwpn3&SBqsTy8IQkE+~$c_F@9UN{x<%Bw1=bibo4BN3VZ z0exJ$9}cO+x;uEh=!k36NGr)c+_CVws*ReYe&^HOodwPY&hcBsyl8U=Ss~2(y3%tR zl?cCJD&r*2{=?D7=t~h#ZxG?$z1AfQ4(a9Lb&?^LUJ;_@|`AgIF=ccYw}%9qY_bwGMJXj(AFr|m`N@a@M%B~7F=ogUpDv+qY` zvz=JeiqqexvtD2s9D2+$cI@%O>Ssf$e0qm8wI-5?BHe$1cv|aT@QTu*rHg)mUO|6F zt1WhqJaOq?ztFWP7+U*T6!IwovyyQ(U47J>Q8KUR1l8A zX3OYTXNP95^`u~zI&TtE31Q)KUxuBj_lTi0Zj`ZeY(Af!u?LKI8}7ub2&V9$a<)G+Iucw4zZomW8G47rzWeMbi#|Y7*h8n)MIT{Fk786vQiiP3-3-} zZ?=Z^NZoRX&)Uni)iK_YaDS;SN_)*QeRn|SV3fa>$a%WG^ rh(FDqf@9fJaBO=Du68fMeWeE`PIzn!Ph;A*Ke4Hyl|ebu`Px4L?}#-T literal 1809 zcmeAS@N?(olHy`uVBq!ia0y~yU}|7sV0^&A3>0DF*SQ9yI14-?iy0WWg+Z8+Vb&Z8 zprAssN02WALzOxMLqjtI!><$|eTjjgtc`);%}WLb%Xth8qW_N7UAAIiU}gyL32_DL z0Rm=54t8ciZdOTtb|qmBEpaYmX&xInJ{KhcUp2u{E#Wvl(KI9Rd^5=ki26}-Gz5lp z2$aSZEm$)9)2GYE51#M=(|@<8i(^Q|tv8oW3NkqgFdvkRSobvJ|K6vH%3n^JEL?Q0 zZILP?+mVI@2ObWRs14umy=HO+YLO7&>0mra5@qy2v4T{NTNXOE PFaUw4tDnm{r-UW|i1Yum diff --git a/examples/assets/skies/sky3.png b/examples/assets/skies/sky3.png index 26714fafa9cd46c0968461324945cd0059b387f5..e51fdb3210c0dc3c6c31b859d29bf85bf4ad7a46 100644 GIT binary patch literal 4757 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 Unf6xs2?G##y85}Sb4q9e068`jI{*Lx diff --git a/examples/assets/skies/sky4.png b/examples/assets/skies/sky4.png index a2989c3eef15569ed1f59c1abc99c2fb45e4d784..5972639f229c7362edac856b42b86b93811ef3f2 100644 GIT binary patch literal 4757 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 Ubf&#ke!>6*p00i_>zopr081?v;Q#;t diff --git a/examples/assets/skies/sky5.png b/examples/assets/skies/sky5.png index 58db4343c8dc16f399bb7f02da7ffc98e10877c9..70538fe7a0ec98fb82f1ed99891012b635a5fb46 100644 GIT binary patch literal 4757 zcmeH}XHb*dy2lrS^e!F3PUu8>l@19d^cExtDn$s2ND-w829PFh5Rn>!pwf#78jOI_ z1Oy2JQbUm@0)l5#1f^ZP=bn4^p1tqf^MNmC=Dag&*3AET)_R}+?_KYjC(*{rgoROn z5dgqqiZZkVfEo(GF$_KRp;B2Ah&Y@W{83I<0bn}ub5MbtTs{C8tuG>xHa6aVL4H@g z{rsV(NF>xh(9i4QWlsP?#t8OUwEZHF&er4x!aM}CnD zf>CbUW)34G8o|!|1nT5u+#POP8RpxJBXo1HhsiOI5^i_xOou=68EV-2)U*G5Sa+df zolx6L*F?{pfl{_r#W9y6ggHLObhNck&&laWF^c&EcKX^2u&aBbRA4(&Tl=I)6WuF7 z6*9m?51K6TO$tKs2W(4-Y!@orEvlxV)Klj4I4+f^LY9O*$fp6W-5&0< zz(y9hO5Xf50C0ru>~JdJd>_V5m7fZrCp;4jfwvZ@=skVg2w)TdmzQ~)1{jeA3Z{-; zC{SGon#k--HGrNODA*>%N&}j3;MyrF8Uk)*11{q=NA2HERQaT%DLbLs`<=uuw zp-}HVhFk9ApHfVA>zEF9Ap;_9rtTyRoNLyWGa%V8=gzuPp-3X)p7a~>{(}oMQ!+c$ zx>Ks4`jReHc&cp4Sr6)O=927~pr)BE0M_dLnmU>~+jwF?+3*0h($n^d~kYY{>Pd@&A;4=Z8J8A_B@5{Z}#!_^V9STjK`RJ6}E-T2j zw<4aNl3_^m=zc0v!Cc-hP<^_Bx;}B!qxWer4QG^56N4H}Faqi(Y=FX8V5~+^B~T$T z6^=0mbq4BNwk?t(X(i^*BwliSZ{u@UQjEu-WJHHJQ%=aUhbJK0)WtXxkxG)JyT?qQ zK1TO*_8a$Ku@haCDaEUx1Vq!`j$QDnq0_i813lRpJ4cvnol~9@oP(`7GZNhO10HYN z&q&#IT{7dJXP;M@r}fNIGH`g5V>eM!faXw5IfJMyAlf~#jW0Q&axF)rCx*w=ys+|N z`hb8pulLr)C!d2}a!jNPTV=j??C)MQ`JDNgdLx*bC5}6$BLOSLkLRP~!}167J;|~t z;vY!j??5Z4D=ud(WV2=aIbh&K_zmvVF2;1Tbcu99xIDVFtf*|VjLBi$p&Ol2dd@zg z%Gg2Kezuh1Lq@qn8Np`RUeF#}s#OwShAr_!>phNi+DoK$YPD#!Mn1O9e|mnlp&iQP z!CxC91M^`ikGmG7+9vU|XY|H(czxC$q&`Wfth7J_scfd~SZlX_-%F2fHY;E|H^_=% zL8>@&J@WP>*H`HoX~7~D3zDLzi%(fbW(KAlRc>2uvfQXvwNgwdYBZ{M+KFN{=rEIX zku<@kkdG4<>__b^o8QQq;LnuOi z554F6qj=MV8ADskEJjOVCi7{(Q4R3ZhRAnNezQfMZPiB>x~02iPTxu;^=UsEH2&3? z?asw^mszn{-*(^jM-sFWFbQ+ZCCk+uJ4;fLbdi>YmPJR;yPk(VL)of$9mQd#1^fbj z7(Z3#dM4zI46%gx!qc>7?o5%>DzV{8>=_NGLX5+iv$e*Rgi7(D`pWuZj$)EknpJt; z5Vp1YH{x4jX&ry{{0J?jis(y>aKpOuV(Z>iwXUW$rbWDr_;pW*jwODSwH$H=5_$Dm zAeZK8&B+{c?y6qIn~jV`c`T-vy>~=;mUyCDy6qyt9zS4$<;9Y&#;hkKC7MTf%Vp}y z;RV|#IveNAf;I!rPKWhx67aS7mX#99lU23Vi>vYD58kOfkj`^bzWTnk6Zz40zE6+o zLArv^R7IpU(mD$Jd_h#+Lq659a=5y#Ft}{X?JKYDH{HMov%0g|>XS;7PUqjLH`R64 zbz8Uk<(-e6Lf#ZTxNs15&HOxvdF3Ai>$FWk)Ma&)46?eOKOc|mW+*$b&S(X_D{eF^eJYl z2KS94uTB~MFw8KV#A6k$HJ-?tsls*3eB zCo_h&Kw7XO@_lN32_r}sxUkh43T_#8?@MZfYN*&72z;>YVTGYcami!B8onv z&qxi!>1wc^j$W^O61y}q%JWY4th}r3qTE%_{rccwg|mfo`W~?`&fHNJg89@~aY>^_ zJ0O(8ILm$fWZY@m3hfuSiE!UR>+%)H%&N#ni7-o_sB_I-(aq1Pe3qFU80TXnmdA%z z&RS#Sou;0<{fHw7>T)OEuHvHbW^&&gks1$~7mWAodYwIf|5<5y8|gx?SHIWdr%Bm7 zXV#3e%ukuDS6D{Jp0P}wezvmt&4?nO*&{`%k0BySk6vrPXz(n4OYYIqLqA4upnss% zR{JNOyA5w&>01>HZ}_J2Wsu_Bu(hZA_7%l}%E5BbYtVDYbf7{1^^p1Q>5_w^-v&~(4iLDGU&gBICk?M2X9 z4Q2j>;|s@}Cz|Jdmx7kG_tOTfJL+@mbE-%#KBU#K#^>Q)TZ@8u>g0)y#?aq*4u%Hv zG;}5!*Tej_-fV47@k~SpO74-n>qmnnS1TK=8_sX&uNaIXC*lY7ocG5^zK-9#)D)b* z-ZyTtMH?H_yPvw5!iGGalAY2W#}c=kcS=`7V@5AVdMe1RzWt09*_J-wzJwMF6fT0I=i= zfMyl|yngr2zcD^+R)LKL+URhN2*0ohL<|Ol!^9P!(rQozJz)(?h|xJAn=1k?HwC<- z1h2&iMaMx>5`=S;4)g!>{D;85I{}o6;nh&T55v{=WZA=>n&z3Qp#eH%?8^WhN9*CQ z@$`!tUXQ|F&5vT=UybJ|p=D@-y0Rr|DE}VEZnJ18ub5c z@w)){SET=a_dge|L6vRz|5?;O0>7*C|CIjV=I>dZF*5p|f3*2C@Q*EiSL2_gKf!Qi zhqBciOaB)r{RPXv0;k@|Ax7J^$|LFQEKM`jdAB`nz=BsgKku>ycWeJJK_f td!%P1km^Xmu^cHlwj%}CaFpPF&;pb*9^1j)n(^~8HZ`&`tU|a({}(VHImG|~ literal 1809 zcmeAS@N?(olHy`uVBq!ia0y~yU}|7sV0^&A3>0DF*SQ9yI14-?iy0WWg+Z8+Vb&Z8 zprAssN02WALzOxMLqjtI!><$|eTjjgtc`);%}WLb%Xth8qW_N7UAAIiU}gyL32_DL zQIeEXl2uVu)KXM6P|!3}FtC@i^p$mulL^R^im8{%Xp}B(mT78}?eCDA(+yNV3PwX< zsE2@uiA!;1{*~(+g3sxG2j+!tPZ!6Kid%0kofKqp6kt9m8L{qZ#{a!f6_vl7G+DUl zTH7L3Mz$jj2@X6QBvBi_-+RsE3e+MYz|+BakR;0JfoK;{lc9oy0CN*bRLTKnvUN&} zND43~IT$Fgv5-WaXeie(QXnaCprJW|Q9dBWf#l!;YEWdhTX+H(rX&UrP=ga&jpIaM zn3Cv8V5qe4R5+2V^GBN!Fic5ILZDER{J>0hA`&M%DaezZ6v%aLTG}&vhPG`@I@8`N QKVbj@Pgg&ebxsLQ0A9@mZ2$lO diff --git a/examples/assets/skies/space1.png b/examples/assets/skies/space1.png index 9d7643f1a0b1bc5c8f56dd2eeefaf903836e9a8b..9ad3ec1fef329cb074aca208a531a409aea51877 100644 GIT binary patch literal 4757 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 q{2+S@j%825vF$0i+Pwt#l@6dB@z@sb#3!} literal 1809 zcmeAS@N?(olHy`uVBq!ia0y~yU}|7sV0^&A3>0DF*SQ9yI14-?iy0WWg+Z8+Vb&Z8 zprAssN02WALzOxMLqjtI!><$|eTjjgtc`);%}WLb%Xth8qW_N7UAAIiU}gyL32_DL z0RmA&04#WAGf)|*Qw1(_TLm=8)utb3aAfA3R8ND3TiXii|14@hw!Ie35?6q)T7o&bg^iNOQZ;KWwrI1w18 zBzh7UDlI$}PUPzR(WV3pQxcO9D3l~WFq55##K}$y@?<9ka$TF2_ROB4ZCjJhw71Gn P7=Xaj)z4*}Q$iB}$A|on diff --git a/examples/assets/skies/space2.png b/examples/assets/skies/space2.png index 2198cd4d760041e1d78b6317dc5c3e736b13398d..a203627a510ee7bbcf67beb6a3b436dad117dc8c 100644 GIT binary patch literal 4757 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 rj08ds6ddb;f@42WaP-GNuMmjJ| literal 1809 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 R%1;=8z|+;wWt~$(69AT}3LpRg diff --git a/examples/assets/skies/sunset.png b/examples/assets/skies/sunset.png index 18f5212bab9c575f84c71ff537de341fd2a85371..5ccb7effa9f56d9c07645f9502759e5a5b16507f 100644 GIT binary patch literal 4757 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 QPZ)r})78&qol`;+0ITi&;Q#;t diff --git a/examples/assets/skies/toxic.png b/examples/assets/skies/toxic.png index 8bfb378d079ea6ff211ce0f60ebddece650e913e..0bba6f5f24114a8d65b43520e2e69ceff84d8815 100644 GIT binary patch literal 4757 zcmeH}XHb*b8pjWUgx;izxIwCsUZq1q30)va5DP^Jibz$OU;t_2f{4@@1eIQ-NH78# zihz_LAT<@v-<#+?k+wbnFdq6gs6hGyUH}-(FCh@8PPuycdic0{ zctQ;k2&kvGhs&ia&H(ri;jJ(zt66T1_0d(haWwY6v4c5;QVVi;NkxDC9Ckm_Rh1$_c zdO>V#q>hS{4S7y*Dmff*NY|FC4@l#a3sqo!ztRpsW&+oq+m&s9GD``WtQ1FJxga_B zigx#yqvPbxbZ4QbHUQ(kAzeEX(iMlXYP4AQokt>zG_L0vGq0`3x|FkOSAxvhA)6J? zZ*26k?h*$Fr>CX{j2hu~4y`u9JDBdX6<3Iug+^&PfXnuQ=WGJ1cV8$7103j=vV^-n}?6Cb3Da zIi?6oFKbc-B}nF-bE5uiEXIcRB~7dYuw3m?_fDLS8tWQ9-s!iyq_u63DFU!AhWESx zIIk-#g=($PYNi7~H!~Dgs>8op$16diJyLgYxQ=nlUg;KGxUnA224}d4J>qSDyeJGV z9@$YU0JE2Vr!AmBvT%(|^kk8$w|>r|;mP{dfi9y?ye5>MMyG}Dkb~e*G?n9Rv``!! zPg=x=U>%Z%BUTvtCYsaYm~nz4Qr7Y|3TllMSk~}9pb~Xf|3!jY3y=%jimWk^y&qa` zq4AEX5<$#UK73365#!s7zOw1@+?lwy-p>we+)>J!d0XhpIux&oXqF*;_?;bEL zdxGlb=+^JPYAG};k&jbA9u`V`Gj!3d9HMex0(zn)VhTUiFeN|5KP9+q$AEX#_Ik2m zH6d=6Uua1*&5;3i7j55b{RyHWijD_g%Cglc`=C4}8t& zXT)<;Rzhx%axNX8IL@D=U_z92KI>MHoRW+#L>5{U8qC)!l`Q1qb87XfZ8t+%befIC z&Wage;>ic`GggCEBe@K@+@>0;Yb8gY>T#A(R(%gx|s zaQ(QkD*H43XCw%Dgy+tNyE=d$M#%@WND zGx{(MrN0o~5b~?|N~Z^CDJ2AVLa+nIkq1-tx};$-u{JUIMextt8W85FL6$;+GXfz# z&%8NRPpgimlOHT<1;1WRo|VR+JJ~u1)d!?_Zl8ofvaE0qdZ+yTD-IvHT7z-IH*OVoiw@dKG7#W7 zA5mw-`(coBjI)i)tB#mfmE^*V6CDff6|I!J$`6(v?k;fDbBy03WJem?ND81o)D~S< zDOdLjpfF5w9Xt_vnzl&&`E3Hsz1O^O!6v07q*gT0)GhRUU29lfC6(Jeqcy{HMDYA@ z|H3(Qw6yJ5rNh@qJijJa%nUY|7rdxkJeXd!}p)%7d8?vcDi)C%zhY^ z%&=ogE=c*1!g7^)aOfHH*y(2rYoGNf(kUI{lPJ}y)M1Zn}(Ye>slo-1+yE;o9^d| z&D^~fnyI^~w;@6-gnr_?UV&~6lx2M1iFpH-=AT~f;FtU)nU$EWe}2$3A>^qWFg3eQ zKem39S#{|8ouHy|NY78#1uz2Am*MHl>H0XU^i4ZQyBFr|nq7T!qk&rnl%H51D5%>8 z7_Fe*TpF4U>q*2ccizD#;e$h@z6{$_9ub0OoXBIBSv{6su=$R6>+QzQsMV;E&n`dr zT`s3gAF_FFlm1log8Q8Bocc~;k9l+TgX;7W;#oK1Vqk4$kjwfke}*!7WVJTn7w+A@ z-V7Cuk=m6&kM-BLx!gmmeI=^8*fu+Y|tmacU zpf|;LUB8sAS-s8OOyo;U+@+yTUDMF7Bt1Mp>cZ=MCI;O@4{>Sy~`>%WrEV%TSLu#@Sq3;qR2q6$HZjK%Iw0-;>W}q&A^&QFIGUO zT}_K_Kj<|=9kY1g(O$W~pT7zG{}Vte==ubByz4K8-S~EFXr3AB>Y)6GKJ`G@8}?2_ z*(W8O7KN>p56QN(7{#7POHYE@v&qo$(l8yMr3%ODkf7hj|B}GJGXIc;J=sEo`ge)% z0^qMm|9SWC3zwntr}%zv>bJmmeg0SJ4{m%f4EL?CTzRu&;Z> pn`&RdG4Crl)_nz6v!CF;(gLI%4%5ulko@g;Y^Z0ZTLQNa`zLrVIG+Fj literal 1809 zcmeAS@N?(olHy`uVBq!ia0y~yU}|7sV0^&A3>0DF*SQ9yI14-?iy0WWg+Z8+Vb&Z8 zprAssN02WALzOxMLqjtI!><$|eTjjgtc`);%}WLb%Xth8qW_N7UAAIiU}gyL32_DL zVHRU$Rb^*4<>GYZ;R)sEP2=S&=i%?*;-AT>zKX+PH(SIR*225Yo$r_y{Rb)^1*0J_ z8k!Rr<1M*si- diff --git a/examples/assets/skies/underwater1.png b/examples/assets/skies/underwater1.png index c1ee99001d2a56867f1f3ba6e1f62987e8670400..94bbf376bd0fffcbad4efdd30e68a6f44704431f 100644 GIT binary patch literal 4757 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 RDnDTW0#8>zmvv4FO#u1>3uFKQ diff --git a/examples/assets/skies/underwater2.png b/examples/assets/skies/underwater2.png index 0af1808a116d12a6ddfc04fff3fea859e2c506f3..b02373cc4ffca7f994a7435f4ebdc5d86340e528 100644 GIT binary patch literal 4757 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 QKVbj@Pgg&ebxsLQ01t`->Hq)$ diff --git a/examples/assets/skies/underwater3.png b/examples/assets/skies/underwater3.png index d4ff8955007fec572a7662de08931b90ead83393..e5197df346f334f19ff687a8282fb6af1b957091 100644 GIT binary patch literal 4757 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 literal 1809 zcmeAS@N?(olHy`uVBq!ia0y~yU}|7sV0^&A3>0DF*SQ9yI14-?iy0WWg+Z8+Vb&Z8 zprAssN02WALzOxMLqjtI!><$|eTjjgtc`);%}WLb%Xth8qW_N7UAAIiU}gyL32_DL zS=A{zty!h9);PD!DWV|IB{M-kIbSNKUOF&e#w}jf%1>V3PC;2$Nm5Qq7--oj7!83T z9|9gGF2$AkSFUepSmFH(m>0S|T^vIyZoRp5Qjp0}fccX~BPY2^ck|?7GqFq2uh6)k_%uOUwDF>Lz)+sF_ zDZrfMV4%RpLK1bNp - - - - diff --git a/examples/audio/play music.js b/examples/audio/play music.js new file mode 100644 index 00000000..2f471f82 --- /dev/null +++ b/examples/audio/play music.js @@ -0,0 +1,51 @@ + +var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, update: update, render: render }); + +function preload() { + + game.load.image('disk', 'assets/sprites/ra_dont_crack_under_pressure.png'); + + // Firefox doesn't support mp3 files, so use ogg + game.load.audio('boden', ['assets/audio/bodenstaendig_2000_in_rock_4bit.mp3', 'assets/audio/bodenstaendig_2000_in_rock_4bit.ogg']); + +} + +var s; +var music; + +function create() { + + game.stage.backgroundColor = '#182d3b'; + game.input.touch.preventDefault = false; + + music = game.add.audio('boden'); + music.play(); + + s = game.add.sprite(game.world.centerX, game.world.centerY, 'disk'); + s.anchor.setTo(0.5, 0.5); + + game.input.onDown.add(changeVolume, this); + +} + +function changeVolume(pointer) { + + if (pointer.y < 300) + { + music.volume += 0.1; + } + else + { + music.volume -= 0.1; + } + +} + +function update() { + s.rotation += 0.01; +} + +function render() { + game.debug.renderSoundInfo(music, 20, 32); +} + diff --git a/examples/audio/play music.php b/examples/audio/play music.php deleted file mode 100644 index fb851adb..00000000 --- a/examples/audio/play music.php +++ /dev/null @@ -1,66 +0,0 @@ - - - - - diff --git a/examples/build.php b/examples/build.php new file mode 100644 index 00000000..262d7eff --- /dev/null +++ b/examples/build.php @@ -0,0 +1,37 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/examples/buttons/action on click.js b/examples/buttons/action on click.js new file mode 100644 index 00000000..d9746835 --- /dev/null +++ b/examples/buttons/action on click.js @@ -0,0 +1,28 @@ + +var game = new Phaser.Game(800, 600, Phaser.AUTO, 'phaser-example', { preload: preload, create: create }); + +function preload() { + + game.load.spritesheet('button', 'assets/buttons/button_sprite_sheet.png', 193, 71); + game.load.image('background','assets/misc/starfield.jpg'); + +} + +var button; +var background; + +function create() { + + game.stage.backgroundColor = '#182d3b'; + + background = game.add.tileSprite(0, 0, 800, 600, 'background'); + + button = game.add.button(game.world.centerX - 95, 400, 'button', actionOnClick, this, 2, 1, 0); + +} + +function actionOnClick () { + + background.visible =! background.visible; + +} diff --git a/examples/buttons/action on click.php b/examples/buttons/action on click.php deleted file mode 100644 index dc1cbbb2..00000000 --- a/examples/buttons/action on click.php +++ /dev/null @@ -1,48 +0,0 @@ - - - - - diff --git a/examples/buttons/changing the frames.js b/examples/buttons/changing the frames.js new file mode 100644 index 00000000..8d2d3777 --- /dev/null +++ b/examples/buttons/changing the frames.js @@ -0,0 +1,32 @@ + +var game = new Phaser.Game(800, 600, Phaser.AUTO, 'phaser-example', { preload: preload, create: create }); + +function preload() { + + game.load.spritesheet('button', 'assets/buttons/number-buttons-90x90.png', 90,90); + game.load.image('background','assets/misc/starfield.jpg'); + +} + +var button; +var background; + +function create() { + + // Setting the background colour + game.stage.backgroundColor = '#182d3b'; + + // The numbers given in parameters are the indexes of the frames, in this order: over, out, down + button = game.add.button(game.world.centerX, game.world.centerY, 'button', actionOnClick, this, 1, 0, 2); + + // setting the anchor to the center + button.anchor.setTo(0.5, 0.5); + +} + +function actionOnClick () { + + // Manually changing the frames of the button, i.e, how it will look when you play with it + button.setFrames(4, 3, 5); + +} diff --git a/examples/buttons/changing the frames.php b/examples/buttons/changing the frames.php deleted file mode 100644 index 9367f6fe..00000000 --- a/examples/buttons/changing the frames.php +++ /dev/null @@ -1,55 +0,0 @@ - - - - - diff --git a/examples/buttons/rotated buttons.js b/examples/buttons/rotated buttons.js new file mode 100644 index 00000000..ecd842a7 --- /dev/null +++ b/examples/buttons/rotated buttons.js @@ -0,0 +1,36 @@ + +var game = new Phaser.Game(800, 600, Phaser.AUTO, 'phaser-example', { preload: preload, create: create,update : update }); + +function preload() { + + game.load.spritesheet('button', 'assets/buttons/button_sprite_sheet.png', 193, 71); + game.load.image('background','assets/misc/starfield.jpg'); + +} + +var button; +var background; + +function create() { + + game.stage.backgroundColor = '#cccccc'; + + // The numbers given in parameters are the indexes of the frames, in this order: over, out, down + button = game.add.button(game.world.centerX, game.world.centerY, 'button', actionOnClick, this, 2, 1, 0); + + // Set the anchor of the sprite in the center, otherwise it would rotate around the top-left corner + button.anchor.setTo(0.5, 0.5); + +} + +function actionOnClick () { + + alert("Though I'm turning around, you can still click on me"); + +} + +function update () { + + button.angle += 1; + +} diff --git a/examples/buttons/rotated buttons.php b/examples/buttons/rotated buttons.php deleted file mode 100644 index 10ebf1ed..00000000 --- a/examples/buttons/rotated buttons.php +++ /dev/null @@ -1,47 +0,0 @@ - - - - - diff --git a/examples/camera/basic follow.js b/examples/camera/basic follow.js new file mode 100644 index 00000000..9a225a92 --- /dev/null +++ b/examples/camera/basic follow.js @@ -0,0 +1,60 @@ + +var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, update: update, render: render }); + +var baddie; +var keys = Phaser.Keyboard; + +function preload() { + + game.load.image('background','assets/misc/starfield.jpg'); + game.load.image('ufo','assets/sprites/ufo.png'); + game.load.image('baddie','assets/sprites/space-baddie.png'); + +} + +function create() { + + game.add.tileSprite(0, 0, 2000, 2000, 'background'); + + game.world.setBounds(0, 0, 1400,1400); + + for (var i = 0; i < 10; i++) + { + game.add.sprite(game.world.randomX, game.world.randomY, 'ufo'); + } + + baddie = game.add.sprite(150, 320, 'baddie'); + + game.camera.follow(baddie); + +} + +function update() { + + baddie.body.velocity.setTo(0, 0); + + if (game.input.keyboard.isDown(keys.LEFT) && !game.input.keyboard.isDown(keys.RIGHT)) + { + baddie.body.velocity.x = -155; + } + else if (game.input.keyboard.isDown(keys.RIGHT) && !game.input.keyboard.isDown(keys.LEFT)) + { + baddie.body.velocity.x = 155; + } + else if (game.input.keyboard.isDown(keys.UP) && !game.input.keyboard.isDown(keys.DOWN)) + { + baddie.angle = 90; + baddie.body.velocity.y = -155; + } + else if (game.input.keyboard.isDown(keys.DOWN) && !game.input.keyboard.isDown(keys.UP)) + { + baddie.angle = 90; + baddie.body.velocity.y = 155; + } +} + +function render() { + + game.debug.renderCameraInfo(game.camera, 32, 32); + +} diff --git a/examples/camera/basic follow.php b/examples/camera/basic follow.php deleted file mode 100644 index 501494ab..00000000 --- a/examples/camera/basic follow.php +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - diff --git a/examples/camera/camera cull.js b/examples/camera/camera cull.js new file mode 100644 index 00000000..6060ada2 --- /dev/null +++ b/examples/camera/camera cull.js @@ -0,0 +1,48 @@ + +var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, update: update, render: render }); + +function preload() { + game.load.image('disk', 'assets/sprites/ra_dont_crack_under_pressure.png'); +} + +var s; + +function create() { + + game.stage.backgroundColor = '#182d3b'; + + s = game.add.sprite(game.world.centerX, game.world.centerY, 'disk'); + s.anchor.setTo(0.5, 0.5); + +} + +function update() { + + s.rotation += 0.01; + + if (game.input.keyboard.isDown(Phaser.Keyboard.LEFT)) + { + s.x -= 4; + } + else if (game.input.keyboard.isDown(Phaser.Keyboard.RIGHT)) + { + s.x += 4; + } + + if (game.input.keyboard.isDown(Phaser.Keyboard.UP)) + { + s.y -= 4; + } + else if (game.input.keyboard.isDown(Phaser.Keyboard.DOWN)) + { + s.y += 4; + } + +} + +function render() { + + game.debug.renderSpriteCorners(s, true, true); + game.debug.renderSpriteInfo(s, 20, 32); + +} diff --git a/examples/camera/camera cull.php b/examples/camera/camera cull.php deleted file mode 100644 index 32196a6a..00000000 --- a/examples/camera/camera cull.php +++ /dev/null @@ -1,64 +0,0 @@ - - - - - \ No newline at end of file diff --git a/examples/camera/follow styles.js b/examples/camera/follow styles.js new file mode 100644 index 00000000..339dc1e0 --- /dev/null +++ b/examples/camera/follow styles.js @@ -0,0 +1,109 @@ + +var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, update: update, render: render }); + +var ufo; +var Keys = Phaser.Keyboard; +var speed = 4; +var style = 'default'; + +function preload() { + + game.load.image('ground', 'assets/tests/ground-2x.png'); + game.load.image('river', 'assets/tests/river-2x.png'); + game.load.image('sky', 'assets/tests/sky-2x.png'); + game.load.image('cloud0', 'assets/tests/cloud-big-2x.png'); + game.load.image('cloud1', 'assets/tests/cloud-narrow-2x.png'); + game.load.image('cloud2', 'assets/tests/cloud-small-2x.png'); + game.load.image('ufo','assets/sprites/ufo.png'); + game.load.image('baddie','assets/sprites/space-baddie.png'); + game.load.spritesheet('button', 'assets/buttons/follow-style-button.png', 224, 70); + +} + +function create() { + + // Make the world larger than the actual canvas + game.world.setBounds(0, 0, 1400, 1400); + + for (var i=0; i < 10; i++) + { + game.add.sprite(game.world.randomX, game.world.randomY, 'baddie'); + } + + // Background images + game.add.tileSprite(0, 0, 1400, 600, 'sky'); + game.add.sprite(0, 360, 'ground'); + game.add.sprite(0, 400, 'river'); + game.add.sprite(200, 120, 'cloud0'); + game.add.sprite(-60, 120, 'cloud1'); + game.add.sprite(900, 170, 'cloud2'); + + // ufo sprite + ufo = game.add.sprite(300, 240, 'ufo'); + + //registration point + ufo.anchor.setTo(0.5, 0.5); + + game.camera.follow(ufo); + + // follow style switch buttons + btn0 = game.add.button(6, 40, 'button', lockonFollow,this, 0, 0, 0); + btn1 = game.add.button(6, 120, 'button', platformerFollow,this, 1, 1, 1); + btn2 = game.add.button(6, 200, 'button', topdownFollow,this, 2, 2, 2); + btn3 = game.add.button(6, 280, 'button', topdownTightFollow,this, 3, 3, 3); + +} + +function lockonFollow() { + game.camera.follow(ufo, Phaser.Camera.FOLLOW_LOCKON); + style = 'STYLE_LOCKON'; +} + +function platformerFollow() { + game.camera.follow(ufo, Phaser.Camera.FOLLOW_PLATFORMER); + style = 'STYLE_PLATFORMER'; +} + +function topdownFollow() { + game.camera.follow(ufo, Phaser.Camera.FOLLOW_TOPDOWN); + style = 'STYLE_TOPDOWN'; +} + +function topdownTightFollow() { + game.camera.follow(ufo, Phaser.Camera.FOLLOW_TOPDOWN_TIGHT); + style = 'STYLE_TOPDOWN_TIGHT'; +} + +function update() { + + if (game.input.keyboard.isDown(Keys.LEFT)) + { + ufo.x -= speed; + ufo.angle = -15; + } + else if (game.input.keyboard.isDown(Keys.RIGHT)) + { + ufo.x += speed; + ufo.angle = 15; + } + else if (game.input.keyboard.isDown(Keys.UP)) + { + ufo.y -= speed; + } + else if (game.input.keyboard.isDown(Keys.DOWN)) + { + ufo.y += speed; + } + else + { + ufo.angle = 0; + } + +} + +function render () { + + game.debug.renderText('Click buttons to switch follow styles', 32, 32); + game.debug.renderText('Current style: ' + style, 32, 64); + +} diff --git a/examples/camera/follow styles.php b/examples/camera/follow styles.php deleted file mode 100644 index 148eec18..00000000 --- a/examples/camera/follow styles.php +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - diff --git a/examples/camera/moving the camera.js b/examples/camera/moving the camera.js new file mode 100644 index 00000000..7bbf28ba --- /dev/null +++ b/examples/camera/moving the camera.js @@ -0,0 +1,52 @@ + +var game = new Phaser.Game(800, 600, Phaser.AUTO, 'phaser-example', { preload: preload, create: create, update: update }); + +function preload() { + game.load.image('mushroom', 'assets/sprites/mushroom2.png'); +} + +function create() { + + game.stage.backgroundColor = '#2d2d2d'; + + // Make our game world 2000x2000 pixels in size (the default is to match the game size) + game.world.setBounds(0,0,2000, 2000); + + for (var i = 0; i < 50; i++) + { + var s = game.add.sprite(game.world.randomX, game.world.randomY, 'mushroom'); + } + + for (var i = 0; i < 50; i++) + { + game.add.sprite(game.world.randomX, game.world.randomY, 'mushroom'); + } + + for (var i = 0; i < 50; i++) + { + var s = game.add.sprite(game.world.randomX, game.world.randomY, 'mushroom'); + } + +} + +function update() { + + if (game.input.keyboard.isDown(Phaser.Keyboard.LEFT)) + { + game.camera.x -= 4; + } + else if (game.input.keyboard.isDown(Phaser.Keyboard.RIGHT)) + { + game.camera.x += 4; + } + + if (game.input.keyboard.isDown(Phaser.Keyboard.UP)) + { + game.camera.y -= 4; + } + else if (game.input.keyboard.isDown(Phaser.Keyboard.DOWN)) + { + game.camera.y += 4; + } + +} diff --git a/examples/camera/moving the camera.php b/examples/camera/moving the camera.php deleted file mode 100644 index 3b6e93c5..00000000 --- a/examples/camera/moving the camera.php +++ /dev/null @@ -1,68 +0,0 @@ - - - - - \ No newline at end of file diff --git a/examples/camera/world sprite.js b/examples/camera/world sprite.js new file mode 100644 index 00000000..13936f22 --- /dev/null +++ b/examples/camera/world sprite.js @@ -0,0 +1,54 @@ + +var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, update: update,render : render }); + +function preload() { + + game.world.setBounds(0, 0, 1920, 1200); + + game.load.image('backdrop', 'assets/pics/remember-me.jpg'); + game.load.image('card', 'assets/sprites/mana_card.png'); + +} + +var card; +var Keys = Phaser.Keyboard; + +function create() { + + game.add.sprite(0, 0, 'backdrop'); + + card = game.add.sprite(200, 200, 'card'); + + card.body.velocity.x = 50; + card.scale.setTo(2, 2); + +} + +function update() { + + if (game.input.keyboard.isDown(Keys.LEFT)) + { + card.x -= 4; + } + else if (game.input.keyboard.isDown(Keys.RIGHT)) + { + card.x += 4; + } + + if (game.input.keyboard.isDown(Keys.UP)) + { + card.y -= 4; + } + else if (game.input.keyboard.isDown(Keys.DOWN)) + { + card.y += 4; + } + +} + +function render() { + + game.debug.renderCameraInfo(game.camera, 32, 32); + game.debug.renderSpriteInfo(card, 32, 200); + +} diff --git a/examples/camera/world sprite.php b/examples/camera/world sprite.php deleted file mode 100644 index 9a0dca40..00000000 --- a/examples/camera/world sprite.php +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - diff --git a/examples/collision/bounding box.js b/examples/collision/bounding box.js new file mode 100644 index 00000000..760e6ce0 --- /dev/null +++ b/examples/collision/bounding box.js @@ -0,0 +1,55 @@ +var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, update: update, render: render }); + +function preload() { + + game.load.image('atari', 'assets/sprites/atari130xe.png'); + game.load.image('mushroom', 'assets/sprites/mushroom2.png'); + +} + +var sprite1; +var sprite2; + +function create() { + + game.stage.backgroundColor = '#2d2d2d'; + + sprite1 = game.add.sprite(50, 200, 'atari'); + sprite1.name = 'atari'; + sprite1.body.velocity.x = 100; + + // This adjusts the collision body size. + // 100x100 is the new width/height. + // See the offset bounding box for another example. + sprite1.body.setSize(100, 100, 0, 0); + + sprite2 = game.add.sprite(700, 220, 'mushroom'); + sprite2.name = 'mushroom'; + sprite2.body.velocity.x = -100; + +} + +function update() { + + // object1, object2, collideCallback, processCallback, callbackContext + game.physics.collide(sprite1, sprite2, collisionHandler, null, this); + +} + +function collisionHandler (obj1, obj2) { + + game.stage.backgroundColor = '#992d2d'; + + console.log(obj1.name + ' collided with ' + obj2.name); + +} + +function render() { + + game.debug.renderSpriteInfo(sprite1, 32, 32); + game.debug.renderSpriteCollision(sprite1, 32, 400); + + game.debug.renderSpriteBody(sprite1); + game.debug.renderSpriteBody(sprite2); + +} diff --git a/examples/collision/bounding box.php b/examples/collision/bounding box.php deleted file mode 100644 index 9dc6eb82..00000000 --- a/examples/collision/bounding box.php +++ /dev/null @@ -1,71 +0,0 @@ - - - - - \ No newline at end of file diff --git a/examples/collision/group vs group.js b/examples/collision/group vs group.js new file mode 100644 index 00000000..75754867 --- /dev/null +++ b/examples/collision/group vs group.js @@ -0,0 +1,98 @@ + +var game = new Phaser.Game(800, 600, Phaser.AUTO, 'phaser-example', { preload: preload, create: create, update: update }); + +function preload() { + + game.load.image('phaser', 'assets/sprites/phaser-dude.png'); + game.load.image('bullet', 'assets/misc/bullet0.png'); + game.load.spritesheet('veggies', 'assets/sprites/fruitnveg32wh37.png', 32, 32); + +} + +var sprite; +var bullets; +var veggies; +var bulletTime = 0; + +var bullet; + +function create() { + + game.stage.backgroundColor = '#2d2d2d'; + + // This will check Group vs. Group collision (bullets vs. veggies!) + + veggies = game.add.group(); + + for (var i = 0; i < 50; i++) + { + var c = veggies.create(game.world.randomX, Math.random() * 500, 'veggies', game.rnd.integerInRange(0, 36)); + c.name = 'veg' + i; + c.body.immovable = true; + } + + bullets = game.add.group(); + + for (var i = 0; i < 10; i++) + { + var b = bullets.create(0, 0, 'bullet'); + b.name = 'bullet' + i; + b.exists = false; + b.visible = false; + b.events.onOutOfBounds.add(resetBullet, this); + } + + sprite = game.add.sprite(400, 550, 'phaser'); + +} + +function update() { + + sprite.body.velocity.x = 0; + sprite.body.velocity.y = 0; + + if (game.input.keyboard.isDown(Phaser.Keyboard.LEFT)) + { + sprite.body.velocity.x = -200; + } + else if (game.input.keyboard.isDown(Phaser.Keyboard.RIGHT)) + { + sprite.body.velocity.x = 200; + } + + if (game.input.keyboard.isDown(Phaser.Keyboard.SPACEBAR)) + { + fireBullet(); + } + + game.physics.collide(bullets, veggies, collisionHandler, null, this); + +} + +function fireBullet () { + + if (game.time.now > bulletTime) + { + bullet = bullets.getFirstExists(false); + + if (bullet) + { + bullet.reset(sprite.x + 6, sprite.y - 8); + bullet.body.velocity.y = -300; + bulletTime = game.time.now + 250; + } + } + +} + +// Called if the bullet goes out of the screen +function resetBullet (bullet) { + bullet.kill(); +} + +function collisionHandler (bullet, veg) { + + bullet.kill(); + veg.kill(); + +} diff --git a/examples/collision/group vs group.php b/examples/collision/group vs group.php deleted file mode 100644 index d8a03298..00000000 --- a/examples/collision/group vs group.php +++ /dev/null @@ -1,114 +0,0 @@ - - - - - \ No newline at end of file diff --git a/examples/collision/larger bounding box.js b/examples/collision/larger bounding box.js new file mode 100644 index 00000000..3bde58aa --- /dev/null +++ b/examples/collision/larger bounding box.js @@ -0,0 +1,51 @@ + +var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, update: update, render: render }); + +function preload() { + + game.load.image('atari', 'assets/sprites/atari130xe.png'); + game.load.image('mushroom', 'assets/sprites/mushroom2.png'); + +} + +var sprite1; +var sprite2; + +function create() { + + game.stage.backgroundColor = '#2d2d2d'; + + sprite1 = game.add.sprite(50, 200, 'atari'); + sprite1.name = 'atari'; + sprite1.body.velocity.x = 100; + + // In this example the new collision box is much larger than the original sprite + sprite1.body.setSize(400, 50, -100, 20); + + sprite2 = game.add.sprite(700, 220, 'mushroom'); + sprite2.name = 'mushroom'; + sprite2.body.velocity.x = -100; + +} + +function update() { + + // object1, object2, collideCallback, processCallback, callbackContext + game.physics.collide(sprite1, sprite2, collisionHandler, null, this); + +} + +function collisionHandler (obj1, obj2) { + + game.stage.backgroundColor = '#992d2d'; + + console.log(obj1.name + ' collided with ' + obj2.name); + +} + +function render() { + + game.debug.renderRectangle(sprite1.body); + game.debug.renderRectangle(sprite2.body); + +} diff --git a/examples/collision/larger bounding box.php b/examples/collision/larger bounding box.php deleted file mode 100644 index 0c61384d..00000000 --- a/examples/collision/larger bounding box.php +++ /dev/null @@ -1,66 +0,0 @@ - - - - - \ No newline at end of file diff --git a/examples/collision/offset bounding box.js b/examples/collision/offset bounding box.js new file mode 100644 index 00000000..4ae4b1d7 --- /dev/null +++ b/examples/collision/offset bounding box.js @@ -0,0 +1,54 @@ + +var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, update: update, render: render }); + +function preload() { + + game.load.image('atari', 'assets/sprites/atari130xe.png'); + game.load.image('mushroom', 'assets/sprites/mushroom2.png'); + +} + +var sprite1; +var sprite2; + +function create() { + + game.stage.backgroundColor = '#2d2d2d'; + + sprite1 = game.add.sprite(50, 200, 'atari'); + sprite1.name = 'atari'; + sprite1.body.velocity.x = 100; + + // This adjusts the collision body size. + // 100x50 is the new width/height. + // 50, 25 is the X and Y offset of the newly sized box. + // In this case the box is 50px in and 25px down. + sprite1.body.setSize(100, 50, 50, 25); + + sprite2 = game.add.sprite(700, 220, 'mushroom'); + sprite2.name = 'mushroom'; + sprite2.body.velocity.x = -100; + +} + +function update() { + + // object1, object2, collideCallback, processCallback, callbackContext + game.physics.collide(sprite1, sprite2, collisionHandler, null, this); + +} + +function collisionHandler (obj1, obj2) { + + game.stage.backgroundColor = '#992d2d'; + + console.log(obj1.name + ' collided with ' + obj2.name); + +} + +function render() { + + game.debug.renderRectangle(sprite1.body); + game.debug.renderRectangle(sprite2.body); + +} diff --git a/examples/collision/offset bounding box.php b/examples/collision/offset bounding box.php deleted file mode 100644 index 87a98e85..00000000 --- a/examples/collision/offset bounding box.php +++ /dev/null @@ -1,69 +0,0 @@ - - - - - \ No newline at end of file diff --git a/examples/collision/sprite tiles.js b/examples/collision/sprite tiles.js new file mode 100644 index 00000000..f2fd2d34 --- /dev/null +++ b/examples/collision/sprite tiles.js @@ -0,0 +1,69 @@ + +var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, update: update, render: render }); + +function preload() { + + game.load.spritesheet('tiles', 'assets/tiles/platformer_tiles.png', 16, 16); + game.load.image('carrot', 'assets/sprites/carrot.png'); + +} + +var tiles; +var sprite; + +function create() { + + game.stage.backgroundColor = '#2d2d2d'; + + tiles = game.add.group(); + + for (var x = 0; x < 40; x++) + { + var tile = tiles.create(100 + (x * 16), 300, 'tiles', 4); + tile.body.immovable = true; + } + + sprite = game.add.sprite(300, 150, 'carrot'); + sprite.name = 'mushroom'; + sprite.body.collideWorldBounds = true; + sprite.body.velocity.x = 40; + sprite.body.velocity.y = 120; + sprite.body.bounce.setTo(1, 1); + + game.input.onDown.add(carryOn, this); + +} + +function carryOn() { + + game.paused = false; + +} + +function update() { + + // object1, object2, collideCallback, processCallback, callbackContext + game.physics.collide(sprite, tiles, collisionHandler, null, this); + +} + +function collisionHandler (s, t) { + + t.alpha = 0.5; + + console.log('---------------------------------------------'); + console.log(t.body); + + game.paused = true; + +} + +function render() { + + // game.debug.renderSpriteInfo(sprite1, 32, 32); + // game.debug.renderSpriteCollision(sprite1, 32, 400); + + game.debug.renderSpriteBody(sprite); + // game.debug.renderSpriteBody(sprite2); + +} diff --git a/examples/collision/sprite tiles.php b/examples/collision/sprite tiles.php deleted file mode 100644 index fc39a409..00000000 --- a/examples/collision/sprite tiles.php +++ /dev/null @@ -1,84 +0,0 @@ - - - - - \ No newline at end of file diff --git a/examples/collision/sprite vs group.js b/examples/collision/sprite vs group.js new file mode 100644 index 00000000..781e10fd --- /dev/null +++ b/examples/collision/sprite vs group.js @@ -0,0 +1,87 @@ + +var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, update: update, render: render }); + +function preload() { + + game.load.image('phaser', 'assets/sprites/phaser-dude.png'); + game.load.spritesheet('veggies', 'assets/sprites/fruitnveg32wh37.png', 32, 32); + +} + +var sprite; +var group; + +function create() { + + game.stage.backgroundColor = '#2d2d2d'; + + // This will check Sprite vs. Group collision + + sprite = game.add.sprite(32, 200, 'phaser'); + sprite.name = 'phaser-dude'; + + group = game.add.group(); + + for (var i = 0; i < 50; i++) + { + var c = group.create(100 + Math.random() * 700, game.world.randomY, 'veggies', game.rnd.integerInRange(0, 36)); + c.name = 'veg' + i; + c.body.immovable = true; + } + + for (var i = 0; i < 20; i++) + { + // Here we'll create some chillis which the player can pick-up. They are still part of the same Group. + var c = group.create(100 + Math.random() * 700, game.world.randomY, 'veggies', 17); + c.name = 'chilli' + i; + c.body.immovable = true; + } + +} + +function update() { + + sprite.body.velocity.x = 0; + sprite.body.velocity.y = 0; + + if (game.input.keyboard.isDown(Phaser.Keyboard.LEFT)) + { + sprite.body.velocity.x = -200; + } + else if (game.input.keyboard.isDown(Phaser.Keyboard.RIGHT)) + { + sprite.body.velocity.x = 200; + } + + if (game.input.keyboard.isDown(Phaser.Keyboard.UP)) + { + sprite.body.velocity.y = -200; + } + else if (game.input.keyboard.isDown(Phaser.Keyboard.DOWN)) + { + sprite.body.velocity.y = 200; + } + + game.physics.collide(sprite, group, collisionHandler, null, this); + +} + +function collisionHandler (obj1, obj2) { + + // If the player collides with the chillis then they get eaten :) + // The chilli frame ID is 17 + + console.log('Hit', obj2.name); + + if (obj2.frame == 17) + { + obj2.kill(); + } + +} + +function render () { + + game.debug.renderQuadTree(game.physics.quadTree); + +} diff --git a/examples/collision/sprite vs group.php b/examples/collision/sprite vs group.php deleted file mode 100644 index a8153b41..00000000 --- a/examples/collision/sprite vs group.php +++ /dev/null @@ -1,103 +0,0 @@ - - - - - \ No newline at end of file diff --git a/examples/collision/sprite vs sprite custom.js b/examples/collision/sprite vs sprite custom.js new file mode 100644 index 00000000..a05f225c --- /dev/null +++ b/examples/collision/sprite vs sprite custom.js @@ -0,0 +1,78 @@ + +var game = new Phaser.Game(800, 600, Phaser.AUTO, 'phaser-example', { preload: preload, create: create, update: update, render: render }); + +function preload() { + + game.load.image('atari', 'assets/sprites/atari130xe.png'); + game.load.image('mushroom', 'assets/sprites/mushroom2.png'); + +} + +var sprite1; +var sprite2; + +function create() { + + game.stage.backgroundColor = '#2d2d2d'; + + // This will check Sprite vs. Sprite collision using a custom process callback + + sprite1 = game.add.sprite(0, 200, 'atari'); + sprite1.name = 'atari'; + // We'll use a random velocity here so we can test it in our processHandler + sprite1.body.velocity.x = 50 + Math.random() * 100; + // This tells phaser to not use the built-in body separation, instead you should handle it in your process callback (see below) + sprite1.body.customSeparateX = true; + + sprite2 = game.add.sprite(750, 220, 'mushroom'); + sprite2.name = 'mushroom'; + // We'll use a random velocity here so we can test it in our processHandler + sprite2.body.velocity.x = -(50 + Math.random() * 100); + // This tells phaser to not use the built-in body separation, instead you should handle it in your process callback (see below) + sprite2.body.customSeparateX = true; + +} + +function update() { + + game.physics.collide(sprite1, sprite2, collisionHandler, processHandler, this); + +} + +function processHandler (obj1, obj2) { + + // This function can perform your own additional checks on the 2 objects that collided. + // For example you could test for velocity, health, etc. + // If you want the collision to be deemed successful this function must return true. + // In which case the collisionHandler will be called, otherwise it won't. + + // Note: the objects will have already been separated by this point unless you have set + // their customSeparateX/Y flags to true. If you do that it's up to you to handle separation. + + // Whichever one is going fastest wins, the other dies :) + if (obj1.body.velocity.x > Math.abs(obj2.body.velocity.x)) + { + obj2.kill(); + obj1.body.velocity.x = 0; + } + else + { + obj1.kill(); + obj2.body.velocity.x = 0; + } + + return true; + +} + +function collisionHandler (obj1, obj2) { + + game.stage.backgroundColor = '#992d2d'; + + console.log(obj1.name + ' collided with ' + obj2.name); + +} + +function render() { +} + diff --git a/examples/collision/sprite vs sprite custom.php b/examples/collision/sprite vs sprite custom.php deleted file mode 100644 index bbf5c44f..00000000 --- a/examples/collision/sprite vs sprite custom.php +++ /dev/null @@ -1,92 +0,0 @@ - - - - - \ No newline at end of file diff --git a/examples/collision/sprite vs sprite.js b/examples/collision/sprite vs sprite.js new file mode 100644 index 00000000..b344e94e --- /dev/null +++ b/examples/collision/sprite vs sprite.js @@ -0,0 +1,43 @@ + +var game = new Phaser.Game(800, 600, Phaser.AUTO, 'phaser-example', { preload: preload, create: create, update: update }); + +function preload() { + + game.load.image('atari', 'assets/sprites/atari130xe.png'); + game.load.image('mushroom', 'assets/sprites/mushroom2.png'); + +} + +var sprite1; +var sprite2; + +function create() { + + game.stage.backgroundColor = '#2d2d2d'; + + // This will check Sprite vs. Sprite collision + + sprite1 = game.add.sprite(50, 200, 'atari'); + sprite1.name = 'atari'; + sprite1.body.velocity.x = 100; + + sprite2 = game.add.sprite(700, 220, 'mushroom'); + sprite2.name = 'mushroom'; + sprite2.body.velocity.x = -100; + +} + +function update() { + + // object1, object2, collideCallback, processCallback, callbackContext + game.physics.collide(sprite1, sprite2, collisionHandler, null, this); + +} + +function collisionHandler (obj1, obj2) { + + game.stage.backgroundColor = '#992d2d'; + + console.log(obj1.name + ' collided with ' + obj2.name); + +} diff --git a/examples/collision/sprite vs sprite.php b/examples/collision/sprite vs sprite.php deleted file mode 100644 index 02f289a7..00000000 --- a/examples/collision/sprite vs sprite.php +++ /dev/null @@ -1,61 +0,0 @@ - - - - - \ No newline at end of file diff --git a/examples/collision/transform.js b/examples/collision/transform.js new file mode 100644 index 00000000..4188d132 --- /dev/null +++ b/examples/collision/transform.js @@ -0,0 +1,117 @@ + +var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, update: update, render: render }); + +function preload() { + + game.load.image('atari', 'assets/sprites/atari130xe.png'); + game.load.image('mushroom', 'assets/sprites/mushroom2.png'); + game.load.image('flectrum', 'assets/sprites/flectrum.png'); + +} + +var testGroup; +var sprite1; +var sprite2; +var sprite3; + +function create() { + + game.stage.backgroundColor = '#2d2d2d'; + + game.world.setBounds(-1000, -1000, 2000, 2000); + + testGroup = game.add.group(); + + test2(); + +} + +function test1 () { + + // Test 1 - 2 sprites in world space (seems to work fine with local transform?) + sprite1 = game.add.sprite(-600, 200, 'atari'); + sprite1.name = 'atari'; + // sprite1.body.setSize(100, 100, 0, 0); + + sprite2 = game.add.sprite(-100, 220, 'mushroom'); + sprite2.name = 'mushroom'; + + game.camera.focusOn(sprite1); + game.camera.x += 300; + + game.input.onDown.add(go1, this); + +} + +function test2 () { + + // 1 sprite in world space (seems to work fine with local transform?) and 1 in a group + + sprite1 = testGroup.create(0, -150, 'atari'); + sprite1.name = 'atari'; + sprite1.body.immovable = true; + // sprite1.body.setSize(100, 100, 0, 0); + + sprite2 = game.add.sprite(-100, 150, 'mushroom'); + sprite2.name = 'mushroom'; + + sprite3 = game.add.sprite(-200, 150, 'flectrum'); + sprite3.name = 'tall'; + + testGroup.x = -600; + testGroup.y = 200; + + game.camera.focusOn(sprite2); + game.camera.x -= 300; + + game.input.onDown.add(go2, this); + +} + +function go1 () { + + sprite1.body.velocity.x = 100; + sprite2.body.velocity.x = -100; + +} + +function go2 () { + + sprite2.body.velocity.x = -100; + +} + +function update () { + + game.physics.collide(sprite1, sprite2, collisionHandler, null, this); + + // sprite3.angle += 0.5; + +} + +function collisionHandler (obj1, obj2) { + + game.stage.backgroundColor = '#992d2d'; + + console.log(obj1.name + ' collided with ' + obj2.name); + +} + +function render() { + + // game.debug.renderSpriteInfo(sprite1, 32, 32); + // game.debug.renderSpriteCollision(sprite1, 32, 400); + + game.debug.renderSpriteCoords(sprite1, 32, 32); + game.debug.renderSpriteCoords(sprite2, 300, 32); + + game.debug.renderCameraInfo(game.camera, 32, 500); + + game.debug.renderSpriteBody(sprite1); + game.debug.renderSpriteBody(sprite2); + game.debug.renderSpriteBody(sprite3); + + game.debug.renderGroupInfo(testGroup, 500, 500); + game.debug.renderPixel(testGroup.x, testGroup.y, 'rgb(255,255,0)'); + +} diff --git a/examples/collision/transform.php b/examples/collision/transform.php deleted file mode 100644 index b33b677c..00000000 --- a/examples/collision/transform.php +++ /dev/null @@ -1,131 +0,0 @@ - - - - - \ No newline at end of file diff --git a/examples/collision/vertical collision.js b/examples/collision/vertical collision.js new file mode 100644 index 00000000..1d3279ab --- /dev/null +++ b/examples/collision/vertical collision.js @@ -0,0 +1,58 @@ + +var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, update: update, render: render }); + +function preload() { + + game.load.image('atari', 'assets/sprites/atari130xe.png'); + game.load.image('mushroom', 'assets/sprites/mushroom2.png'); + +} + +var sprite1; +var sprite2; + +function create() { + + game.stage.backgroundColor = '#2d2d2d'; + + sprite1 = game.add.sprite(300, 50, 'atari'); + sprite1.name = 'atari'; + sprite1.body.velocity.y = 100; + + // This adjusts the collision body size. + // 100x100 is the new width/height. + // See the offset bounding box for another example. + sprite1.body.setSize(220, 50, 0, 0); + + sprite2 = game.add.sprite(400, 500, 'mushroom'); + sprite2.name = 'mushroom'; + sprite2.body.immovable = true; + // sprite2.body.velocity.x = -100; + +} + +function update() { + + // object1, object2, collideCallback, processCallback, callbackContext + game.physics.collide(sprite1, sprite2, collisionHandler, null, this); + +} + +function collisionHandler (obj1, obj2) { + + game.stage.backgroundColor = '#992d2d'; + + console.log(obj1.name + ' collided with ' + obj2.name); + +} + +function render() { + + game.debug.renderSpriteInfo(sprite1, 32, 32); + game.debug.renderSpriteCollision(sprite1, 32, 400); + + game.debug.renderSpriteBody(sprite1); + game.debug.renderSpriteBody(sprite2); + +} + diff --git a/examples/collision/vertical collision.php b/examples/collision/vertical collision.php deleted file mode 100644 index 7f0681aa..00000000 --- a/examples/collision/vertical collision.php +++ /dev/null @@ -1,72 +0,0 @@ - - - - - \ No newline at end of file diff --git a/examples/display/fullscreen.js b/examples/display/fullscreen.js new file mode 100644 index 00000000..5f38a7fa --- /dev/null +++ b/examples/display/fullscreen.js @@ -0,0 +1,40 @@ + +var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, update: update, render: render }); + +function preload() { + + game.load.image('atari1', 'assets/sprites/atari130xe.png'); + +} + +function create() { + + var sprite = game.add.sprite(0, 0, 'atari1'); + + game.stage.backgroundColor = '#e3ed49'; + + game.input.onDown.add(gofull, this); + +} + +function gofull() { + + game.stage.scale.startFullScreen(); + +} + +function update() { + + if (document.getElementsByTagName('body')[0].scrollTop > 1000) + { + game.stage.backgroundColor = '#87ff55'; + window.scrollTo(0, 0); + } + +} + +function render () { + + game.debug.renderText('Tap to go fullscreen', 32, 150); + +} diff --git a/examples/display/fullscreen.php b/examples/display/fullscreen.php deleted file mode 100644 index 29f593dd..00000000 --- a/examples/display/fullscreen.php +++ /dev/null @@ -1,55 +0,0 @@ - - - - - \ No newline at end of file diff --git a/examples/display/graphics.js b/examples/display/graphics.js new file mode 100644 index 00000000..0332560f --- /dev/null +++ b/examples/display/graphics.js @@ -0,0 +1,47 @@ +var game = new Phaser.Game(800, 600, Phaser.AUTO, 'phaser-example', { create: create }); + +function create() { + + var graphics = game.add.graphics(0, 0); + + // set a fill and line style + graphics.beginFill(0xFF3300); + graphics.lineStyle(10, 0xffd900, 1); + + // draw a shape + graphics.moveTo(0,50); + graphics.lineTo(250, 50); + graphics.lineTo(100, 100); + graphics.lineTo(250, 220); + graphics.lineTo(50, 220); + graphics.lineTo(0, 50); + graphics.endFill(); + + // set a fill and line style again + graphics.lineStyle(10, 0xFF0000, 0.8); + graphics.beginFill(0xFF700B, 1); + + // draw a second shape + graphics.moveTo(210,300); + graphics.lineTo(450,320); + graphics.lineTo(570,350); + graphics.lineTo(580,20); + graphics.lineTo(330,120); + graphics.lineTo(410,200); + graphics.lineTo(210,300); + graphics.endFill(); + + // draw a rectangle + graphics.lineStyle(2, 0x0000FF, 1); + graphics.drawRect(50, 250, 100, 100); + + // draw a circle + graphics.lineStyle(0); + graphics.beginFill(0xFFFF0B, 0.5); + graphics.drawCircle(470, 200,100); + + graphics.lineStyle(20, 0x33FF00); + graphics.moveTo(30,30); + graphics.lineTo(600, 300); + +} diff --git a/examples/display/graphics.php b/examples/display/graphics.php deleted file mode 100644 index 530fa88d..00000000 --- a/examples/display/graphics.php +++ /dev/null @@ -1,65 +0,0 @@ - - - - - diff --git a/examples/display/linkedList.php b/examples/display/linkedList.php deleted file mode 100644 index 61b18360..00000000 --- a/examples/display/linkedList.php +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - diff --git a/examples/display/render crisp.js b/examples/display/render crisp.js new file mode 100644 index 00000000..16f56fc0 --- /dev/null +++ b/examples/display/render crisp.js @@ -0,0 +1,32 @@ + +var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create }); + +function preload() { + + game.load.image('boss', 'assets/misc/boss1.png'); + game.load.spritesheet('button', 'assets/buttons/button_sprite_sheet.png', 193, 71); + +} + +var boss; +var button; + +function create() { + + // For browsers that support it, this keeps our pixel art looking crisp + // This only works when you use Phaser.CANVAS as the renderer + Phaser.Canvas.setSmoothingEnabled(game.context, false); + + boss = game.add.sprite(game.world.centerX, game.world.centerY, 'boss'); + boss.anchor.setTo(0.5, 0.5); + + // Zoom in each time we press the button + button = game.add.button(32, 32, 'button', clickedIt, this, 2, 1, 0); +} + +function clickedIt() { + + boss.scale.x += 0.5; + boss.scale.y += 0.5; + +} diff --git a/examples/display/render crisp.php b/examples/display/render crisp.php deleted file mode 100644 index 9f46bc32..00000000 --- a/examples/display/render crisp.php +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - diff --git a/examples/examples.json b/examples/examples.json new file mode 100644 index 00000000..d9f0e44b --- /dev/null +++ b/examples/examples.json @@ -0,0 +1,188 @@ +{ +"animation": [ + { "file": "change+texture+on+click.js", "title": "change texture on click" }, + { "file": "local+json+object.js", "title": "local json object" }, + { "file": "looped+animation.js", "title": "looped animation" }, + { "file": "multiple+anims.js", "title": "multiple anims" }, + { "file": "sprite+sheet.js", "title": "sprite sheet" }, + { "file": "texture+packer+json+hash.js", "title": "texture packer json hash" } +], +"audio": [ + { "file": "loop.js", "title": "loop" }, + { "file": "play+music.js", "title": "play music" } +], +"buttons": [ + { "file": "action+on+click.js", "title": "action on click" }, + { "file": "changing+the+frames.js", "title": "changing the frames" }, + { "file": "rotated+buttons.js", "title": "rotated buttons" } +], +"camera": [ + { "file": "basic+follow.js", "title": "basic follow" }, + { "file": "camera+cull.js", "title": "camera cull" }, + { "file": "follow+styles.js", "title": "follow styles" }, + { "file": "moving+the+camera.js", "title": "moving the camera" }, + { "file": "world+sprite.js", "title": "world sprite" } +], +"collision": [ + { "file": "bounding+box.js", "title": "bounding box" }, + { "file": "group+vs+group.js", "title": "group vs group" }, + { "file": "larger+bounding+box.js", "title": "larger bounding box" }, + { "file": "offset+bounding+box.js", "title": "offset bounding box" }, + { "file": "sprite+tiles.js", "title": "sprite tiles" }, + { "file": "sprite+vs+group.js", "title": "sprite vs group" }, + { "file": "sprite+vs+sprite+custom.js", "title": "sprite vs sprite custom" }, + { "file": "sprite+vs+sprite.js", "title": "sprite vs sprite" }, + { "file": "transform.js", "title": "transform" }, + { "file": "vertical+collision.js", "title": "vertical collision" } +], +"display": [ + { "file": "fullscreen.js", "title": "fullscreen" }, + { "file": "graphics.js", "title": "graphics" }, + { "file": "render+crisp.js", "title": "render crisp" } +], +"games": [ + { "file": "breakout.js", "title": "breakout" }, + { "file": "invaders.js", "title": "invaders" }, + { "file": "starstruck.js", "title": "starstruck" }, + { "file": "tanks.js", "title": "tanks" } +], +"geometry": [ + { "file": "circle.js", "title": "circle" }, + { "file": "line.js", "title": "line" }, + { "file": "playing+with+points.js", "title": "playing with points" }, + { "file": "rectangle.js", "title": "rectangle" }, + { "file": "rotate+point.js", "title": "rotate point" } +], +"groups": [ + { "file": "add+a+sprite+to+group.js", "title": "add a sprite to group" }, + { "file": "bring+a+child+to+top.js", "title": "bring a child to top" }, + { "file": "bring+a+group+to+top.js", "title": "bring a group to top" }, + { "file": "call+all.js", "title": "call all" }, + { "file": "create+group.js", "title": "create group" }, + { "file": "create+sprite+in+a+group.js", "title": "create sprite in a group" }, + { "file": "display+order.js", "title": "display order" }, + { "file": "for+each.js", "title": "for each" }, + { "file": "get+first.js", "title": "get first" }, + { "file": "group+as+layer.js", "title": "group as layer" }, + { "file": "group+transform+-+rotate.js", "title": "group transform - rotate" }, + { "file": "group+transform+-+tween.js", "title": "group transform - tween" }, + { "file": "group+transform.js", "title": "group transform" }, + { "file": "recyling.js", "title": "recyling" }, + { "file": "remove.js", "title": "remove" }, + { "file": "replace.js", "title": "replace" }, + { "file": "set+All.js", "title": "set All" }, + { "file": "sub+groups+-+group+length.js", "title": "sub groups - group length" }, + { "file": "swap+children+in+a+group.js", "title": "swap children in a group" } +], +"input": [ + { "file": "cursor+key+movement.js", "title": "cursor key movement" }, + { "file": "drag+several+sprites.js", "title": "drag several sprites" }, + { "file": "drag.js", "title": "drag" }, + { "file": "drop+limitation.js", "title": "drop limitation" }, + { "file": "follow+mouse.js", "title": "follow mouse" }, + { "file": "game+scale.js", "title": "game scale" }, + { "file": "key.js", "title": "key" }, + { "file": "keyboard+hotkeys.js", "title": "keyboard hotkeys" }, + { "file": "keyboard+justpressed.js", "title": "keyboard justpressed" }, + { "file": "keyboard.js", "title": "keyboard" }, + { "file": "motion+lock+-+horizontal.js", "title": "motion lock - horizontal" }, + { "file": "motion+lock+-+vertical.js", "title": "motion lock - vertical" }, + { "file": "multi+touch.js", "title": "multi touch" }, + { "file": "override+default+controls.js", "title": "override default controls" }, + { "file": "pixel+perfect+click+detection.js", "title": "pixel perfect click detection" }, + { "file": "pixelpick+-+scrolling+effect.js", "title": "pixelpick - scrolling effect" }, + { "file": "pixelpick+-+spritesheet.js", "title": "pixelpick - spritesheet" }, + { "file": "snap+on+drag.js", "title": "snap on drag" } +], +"loader": [ + { "file": "pick+images+from+cache.js", "title": "pick images from cache" } +], +"misc": [ + { "file": "net.js", "title": "net" }, + { "file": "random+generators.js", "title": "random generators" }, + { "file": "repeatable+random+numbers.js", "title": "repeatable random numbers" } +], +"particles": [ + { "file": "click+burst.js", "title": "click burst" }, + { "file": "collision.js", "title": "collision" }, + { "file": "diamond+burst.js", "title": "diamond burst" }, + { "file": "no+rotation.js", "title": "no rotation" }, + { "file": "random+sprite.js", "title": "random sprite" }, + { "file": "when+particles+collide.js", "title": "when particles collide" }, + { "file": "zero+gravity.js", "title": "zero gravity" } +], +"physics": [ + { "file": "accelerate+to+pointer.js", "title": "accelerate to pointer" }, + { "file": "angle+between.js", "title": "angle between" }, + { "file": "angle+to+pointer.js", "title": "angle to pointer" }, + { "file": "angular+acceleration.js", "title": "angular acceleration" }, + { "file": "angular+velocity.js", "title": "angular velocity" }, + { "file": "mass+velocity+test.js", "title": "mass velocity test" }, + { "file": "move+towards+object.js", "title": "move towards object" }, + { "file": "multi+angle+to+pointer.js", "title": "multi angle to pointer" }, + { "file": "quadtree+-+collision+infos.js", "title": "quadtree - collision infos" }, + { "file": "quadtree+-+ids.js", "title": "quadtree - ids" }, + { "file": "shoot+the+pointer.js", "title": "shoot the pointer" }, + { "file": "sprite+bounds.js", "title": "sprite bounds" } +], +"sprites": [ + { "file": "add+a+sprite.js", "title": "add a sprite" }, + { "file": "add+several+sprites.js", "title": "add several sprites" }, + { "file": "collide+world+bounds.js", "title": "collide world bounds" }, + { "file": "destroy.js", "title": "destroy" }, + { "file": "dynamic+crop.js", "title": "dynamic crop" }, + { "file": "extending+sprite+object+demo+2.js", "title": "extending sprite object demo 2" }, + { "file": "extending+sprite+object.js", "title": "extending sprite object" }, + { "file": "horizontal+crop.js", "title": "horizontal crop" }, + { "file": "move+a+sprite.js", "title": "move a sprite" }, + { "file": "out+of+bounds.js", "title": "out of bounds" }, + { "file": "scale+a+sprite.js", "title": "scale a sprite" }, + { "file": "shared+sprite+textures.js", "title": "shared sprite textures" }, + { "file": "sprite+rotation.js", "title": "sprite rotation" }, + { "file": "spritesheet.js", "title": "spritesheet" }, + { "file": "vertical+crop.js", "title": "vertical crop" } +], +"text": [ + { "file": "bitmap+fonts.js", "title": "bitmap fonts" }, + { "file": "hello+arial.js", "title": "hello arial" }, + { "file": "kern+of+duty.js", "title": "kern of duty" }, + { "file": "remove+text.js", "title": "remove text" }, + { "file": "text+stroke.js", "title": "text stroke" } +], +"tile sprites": [ + { "file": "animated+tiling+sprite.js", "title": "animated tiling sprite" }, + { "file": "tiling+sprite.js", "title": "tiling sprite" } +], +"tilemaps": [ + { "file": "Sci-Fly.js", "title": "Sci-Fly" }, + { "file": "fill+tiles.js", "title": "fill tiles" }, + { "file": "mapcollide.js", "title": "mapcollide" }, + { "file": "mario.js", "title": "mario" }, + { "file": "mariotogether.js", "title": "mariotogether" }, + { "file": "paint+tiles.js", "title": "paint tiles" }, + { "file": "randomise+tiles.js", "title": "randomise tiles" }, + { "file": "replace+tiles.js", "title": "replace tiles" }, + { "file": "supermario.js", "title": "supermario" }, + { "file": "supermario2.js", "title": "supermario2" }, + { "file": "swap+tiles.js", "title": "swap tiles" }, + { "file": "wip1.js", "title": "wip1" }, + { "file": "wip2.js", "title": "wip2" }, + { "file": "wip3.js", "title": "wip3" }, + { "file": "wip4.js", "title": "wip4" } +], +"tweens": [ + { "file": "bounce.js", "title": "bounce" }, + { "file": "bubbles.js", "title": "bubbles" }, + { "file": "chained+tweens.js", "title": "chained tweens" }, + { "file": "combined+tweens.js", "title": "combined tweens" }, + { "file": "easing+spritesheets.js", "title": "easing spritesheets" }, + { "file": "easing.js", "title": "easing" }, + { "file": "fading+in+a+sprite.js", "title": "fading in a sprite" }, + { "file": "pause+tween.js", "title": "pause tween" }, + { "file": "tween+several+properties.js", "title": "tween several properties" } +], +"world": [ + { "file": "fixed+to+camera.js", "title": "fixed to camera" }, + { "file": "move+around+world.js", "title": "move around world" } +] +} \ No newline at end of file diff --git a/examples/foot.php b/examples/foot.php deleted file mode 100644 index 576f8502..00000000 --- a/examples/foot.php +++ /dev/null @@ -1,14 +0,0 @@ - - - - - \ No newline at end of file diff --git a/examples/funcs.php b/examples/funcs.php new file mode 100644 index 00000000..b06f3946 --- /dev/null +++ b/examples/funcs.php @@ -0,0 +1,95 @@ + $value) + { + if (is_array($value) && count($value) > 0) + { + $total += count($value); + } + } + + function getFile() { + + global $files, $dir, $filename, $title, $code; + + if (isset($_GET['d']) && isset($_GET['f'])) + { + $dir = urldecode($_GET['d']); + $filename = urldecode($_GET['d']) . '/' . urldecode($_GET['f']); + $title = urldecode($_GET['t']); + + if (file_exists($filename)) + { + $code = file_get_contents($filename); + $files = dirToArray($dir); + } + } + + } + + function dirToArray($dir) { + + $ignore = array('.', '..', 'html', 'assets', 'states'); + $result = array(); + $root = scandir($dir); + $dirs = array_diff($root, $ignore); + + foreach ($dirs as $key => $value) + { + if (is_dir($dir . DIRECTORY_SEPARATOR . $value)) + { + $result[$value] = dirToArray($dir . DIRECTORY_SEPARATOR . $value); + } + else + { + if (substr($value, -3) == '.js') + { + $result[] = $value; + } + } + } + + return $result; + } + + function printJSLinks($dir, $files, $target) { + + $output = ""; + + foreach ($files as $key => $value) + { + $value2 = substr($value, 0, -3); + $dir = urlencode($dir); + $file = urlencode($value); + $title = urlencode($value2); + + if ($target == 'viewer') + { + $output .= " $value2
\n"; + } + else if ($target == 'json') + { + $output .= " { \"file\": \"$file\", \"title\": \"$value2\" },\n"; + } + else + { + $output .= "

  • $value2
  • \n"; + } + } + + if ($target == 'json') + { + $output = rtrim($output); + $output = substr($output, 0, -1); + $output .= "\n"; + } + + return $output; + + } + +?> \ No newline at end of file diff --git a/examples/games/breakout.js b/examples/games/breakout.js new file mode 100644 index 00000000..981681f7 --- /dev/null +++ b/examples/games/breakout.js @@ -0,0 +1,195 @@ + +var game = new Phaser.Game(800, 600, Phaser.AUTO, 'phaser-example', { preload: preload, create: create, update: update }); + +function preload() { + + game.load.atlas('breakout', 'assets/games/breakout/breakout.png', 'assets/games/breakout/breakout.json'); + game.load.image('starfield', 'assets/misc/starfield.jpg'); + +} + +var ball; +var paddle; +var bricks; + +var ballOnPaddle = true; + +var lives = 3; +var score = 0; + +var scoreText; +var livesText; +var introText; + +var s; + +function create() { + + // We do this so the ball can still rebound with the world bounds, but it will look like it has gone off the bottom of the screen + game.world.height = 620; + + s = game.add.tileSprite(0, 0, 800, 600, 'starfield'); + + var brick; + bricks = game.add.group(); + + for (var y = 0; y < 4; y++) + { + for (var x = 0; x < 15; x++) + { + brick = bricks.create(120 + (x * 36), 100 + (y * 52), 'breakout', 'brick_' + (y+1) + '_1.png'); + brick.body.bounce.setTo(1, 1); + brick.body.immovable = true; + } + } + + paddle = game.add.sprite(game.world.centerX, 500, 'breakout', 'paddle_big.png'); + paddle.anchor.setTo(0.5, 0.5); + paddle.body.collideWorldBounds = true; + paddle.body.bounce.setTo(1, 1); + paddle.body.immovable = true; + + ball = game.add.sprite(game.world.centerX, paddle.y - 16, 'breakout', 'ball_1.png'); + ball.anchor.setTo(0.5, 0.5); + ball.body.collideWorldBounds = true; + ball.body.bounce.setTo(1, 1); + ball.animations.add('spin', [ 'ball_1.png', 'ball_2.png', 'ball_3.png', 'ball_4.png', 'ball_5.png' ], 50, true, false); + + scoreText = game.add.text(32, 550, 'score: 0', { font: "20px Arial", fill: "#ffffff", align: "left" }); + livesText = game.add.text(680, 550, 'lives: 3', { font: "20px Arial", fill: "#ffffff", align: "left" }); + introText = game.add.text(game.world.centerX, 400, '- click to start -', { font: "40px Arial", fill: "#ffffff", align: "center" }); + introText.anchor.setTo(0.5, 0.5); + + game.input.onDown.add(releaseBall, this); + +} + +function update () { + + // Fun, but a little sea-sick inducing :) Uncomment if you like! + // s.tilePosition.x += (game.input.speed.x / 2); + + paddle.x = game.input.x; + + if (paddle.x < 24) + { + paddle.x = 24; + } + else if (paddle.x > game.width - 24) + { + paddle.x = game.width - 24; + } + + if (ballOnPaddle) + { + ball.x = paddle.x; + } + else + { + game.physics.collide(ball, paddle, ballHitPaddle, null, this); + game.physics.collide(ball, bricks, ballHitBrick, null, this); + } + + // Out? + if (ball.y > 600 && ballOnPaddle == false) + { + ballLost(); + } + +} + +function releaseBall () { + + if (ballOnPaddle) + { + ballOnPaddle = false; + ball.body.velocity.y = -300; + ball.body.velocity.x = -75; + ball.animations.play('spin'); + introText.visible = false; + } + +} + +function ballLost () { + + lives--; + + if (lives == 0) + { + gameOver(); + } + else + { + livesText.content = 'lives: ' + lives; + ballOnPaddle = true; + ball.body.velocity.setTo(0, 0); + ball.x = paddle.x + 16; + ball.y = paddle.y - 16; + ball.animations.stop(); + } + +} + +function gameOver () { + + ball.body.velocity.setTo(0, 0); + + introText.content = "Game Over!"; + introText.visible = true; + +} + +function ballHitBrick (_ball, _brick) { + + _brick.kill(); + + score += 10; + + scoreText.content = 'score: ' + score; + + // Are they any bricks left? + if (bricks.countLiving() == 0) + { + // New level starts + score += 1000; + scoreText.content = 'score: ' + score; + introText = '- Next Level -'; + + // Let's move the ball back to the paddle + ballOnPaddle = true; + ball.body.velocity.setTo(0, 0); + ball.x = paddle.x + 16; + ball.y = paddle.y - 16; + ball.animations.stop(); + + // And bring the bricks back from the dead :) + bricks.callAll('revive', this); + } + +} + +function ballHitPaddle (_ball, _paddle) { + + var diff = 0; + + if (_ball.x < _paddle.x) + { + // Ball is on the left-hand side of the paddle + diff = _paddle.x - _ball.x; + _ball.body.velocity.x = (-10 * diff); + } + else if (_ball.x > _paddle.x) + { + // Ball is on the right-hand side of the paddle + diff = _ball.x -_paddle.x; + _ball.body.velocity.x = (10 * diff); + } + else + { + // Ball is perfectly in the middle + // Add a little random X to stop it bouncing straight up! + _ball.body.velocity.x = 2 + Math.random() * 8; + } + +} diff --git a/examples/games/breakout.php b/examples/games/breakout.php deleted file mode 100644 index b2b294cb..00000000 --- a/examples/games/breakout.php +++ /dev/null @@ -1,211 +0,0 @@ - - - - - diff --git a/examples/games/invaders.js b/examples/games/invaders.js new file mode 100644 index 00000000..82434b86 --- /dev/null +++ b/examples/games/invaders.js @@ -0,0 +1,119 @@ + +var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, update: update, render: render }); + +function preload() { + + game.load.image('phaser', 'assets/sprites/phaser-dude.png'); + game.load.image('bullet', 'assets/misc/bullet0.png'); + game.load.image('alien', 'assets/sprites/space-baddie.png'); + game.load.image('ship', 'assets/sprites/shmup-ship.png'); + +} + +var player; +var aliens; +var bullets; +var bulletTime = 0; + +function create() { + + player = game.add.sprite(400, 500, 'ship'); + player.anchor.setTo(0.5, 0.5); + + aliens = game.add.group(null, 'aliens'); + + for (var y = 0; y < 4; y++) + { + for (var x = 0; x < 10; x++) + { + aliens.create(x * 48, y * 50, 'alien'); + } + } + + aliens.x = 100; + aliens.y = 50; + + bullets = game.add.group(null, 'bullets'); + + for (var i = 0; i < 10; i++) + { + var b = bullets.create(0, 0, 'bullet'); + b.name = 'bullet' + i; + b.exists = false; + b.visible = false; + b.anchor.setTo(0.5, 1); + b.events.onOutOfBounds.add(resetBullet, this); + } + + var tween = game.add.tween(aliens).to({x: 200}, 3000, Phaser.Easing.Linear.None, true, 0, 1000, true); + tween.onComplete.add(descend, this); + +} + + +function descend() { + aliens.y += 10; +} + +function update() { + + player.body.velocity.x = 0; + player.body.velocity.y = 0; + + if (game.input.keyboard.isDown(Phaser.Keyboard.LEFT)) + { + player.body.velocity.x = -200; + } + else if (game.input.keyboard.isDown(Phaser.Keyboard.RIGHT)) + { + player.body.velocity.x = 200; + } + + if (game.input.keyboard.isDown(Phaser.Keyboard.SPACEBAR)) + { + fireBullet(); + } + + game.physics.collide(bullets, aliens, collisionHandler, null, this); + +} + +function fireBullet () { + + if (game.time.now > bulletTime) + { + bullet = bullets.getFirstExists(false); + + if (bullet) + { + bullet.reset(player.x, player.y - 8); + bullet.body.velocity.y = -300; + bulletTime = game.time.now + 250; + } + } + +} + +// Called if the bullet goes out of the screen +function resetBullet (bullet) { + bullet.kill(); +} + +function collisionHandler (bullet, alien) { + + bullet.kill(); + alien.kill(); + +} + +function render () { + + // aliens.forEach(renderBounds, this); + + game.debug.renderQuadTree(game.physics.quadTree); + +} + +function renderBounds(s) { + game.debug.renderSpriteBounds(s, 'rgba(0,0,255,0.4)', true); +} diff --git a/examples/games/invaders.php b/examples/games/invaders.php deleted file mode 100644 index 05e671d2..00000000 --- a/examples/games/invaders.php +++ /dev/null @@ -1,134 +0,0 @@ - - - - - diff --git a/examples/games/starstruck.js b/examples/games/starstruck.js new file mode 100644 index 00000000..300f2768 --- /dev/null +++ b/examples/games/starstruck.js @@ -0,0 +1,139 @@ + +var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, update: update, render: render }); + +function preload() { + + game.load.tilemap('level1', 'assets/games/starstruck/level1.json', null, Phaser.Tilemap.TILED_JSON); + game.load.tileset('tiles', 'assets/games/starstruck/tiles-1.png', 16, 16); + game.load.spritesheet('dude', 'assets/games/starstruck/dude.png', 32, 48); + game.load.spritesheet('droid', 'assets/games/starstruck/droid.png', 32, 32); + game.load.image('starSmall', 'assets/games/starstruck/star.png'); + game.load.image('starBig', 'assets/games/starstruck/star2.png'); + game.load.image('background', 'assets/games/starstruck/background2.png'); + +} + +var map; +var tileset; +var layer; +var player; +var facing = 'left'; +var jumpTimer = 0; +var bg; + +function create() { + + game.stage.backgroundColor = '#000000'; + + bg = game.add.tileSprite(0, 0, 800, 600, 'background'); + bg.fixedToCamera = true; + + map = new Phaser.Tilemap(game, 'level1'); + + tileset = game.cache.getTileset('tiles'); + + tileset.setCollisionRange(0, tileset.total - 1, true, true, true, true); + + tileset.setCollisionRange(12, 17, false, false, false, false); + tileset.setCollisionRange(46, 51, false, false, false, false); + + layer = new Phaser.TilemapLayer(game, 0, 0, 800, 600, tileset, map, 0); + layer.resizeWorld(); + + game.world.add(layer.sprite); + + player = game.add.sprite(32, 32, 'dude'); + player.body.bounce.y = 0.2; + player.body.collideWorldBounds = true; + player.body.gravity.y = 6; + player.body.setSize(16, 32, 8, 16); + + player.animations.add('left', [0, 1, 2, 3], 10, true); + player.animations.add('turn', [4], 20, true); + player.animations.add('right', [5, 6, 7, 8], 10, true); + + game.camera.follow(player); + +} + +function update() { + + layer.update(); + + // getTiles: function (x, y, width, height, collides, layer) { + overlap = layer.getTiles(player.body.x, player.body.y, player.body.width, player.body.height, true); + + if (overlap.length > 1) + { + for (var i = 1; i < overlap.length; i++) + { + game.physics.separateTile(player.body, overlap[i]); + } + } + + // game.physics.collide(player, map); + + player.body.velocity.x = 0; + // player.body.velocity.y = 0; + // player.body.acceleration.y = 500; + + if (game.input.keyboard.isDown(Phaser.Keyboard.LEFT)) + { + player.body.velocity.x = -150; + + if (facing != 'left') + { + player.animations.play('left'); + facing = 'left'; + } + } + else if (game.input.keyboard.isDown(Phaser.Keyboard.RIGHT)) + { + player.body.velocity.x = 150; + + if (facing != 'right') + { + player.animations.play('right'); + facing = 'right'; + } + } + else + { + if (facing != 'idle') + { + player.animations.stop(); + + if (facing == 'left') + { + player.frame = 0; + } + else + { + player.frame = 5; + } + + facing = 'idle'; + } + } + + if (game.input.keyboard.isDown(Phaser.Keyboard.UP) || game.input.keyboard.isDown(Phaser.Keyboard.SPACEBAR)) + { + if (player.body.touching.down && game.time.now > jumpTimer) + { + player.body.velocity.y = -250; + jumpTimer = game.time.now + 750; + } + } + +} + +function render() { + + layer.render(); + + // game.debug.renderSpriteBody(player); + + // game.debug.renderSpriteInfo(player, 32, 32); + // game.debug.renderSpriteCollision(player, 32, 320); + +} diff --git a/examples/games/starstruck.php b/examples/games/starstruck.php deleted file mode 100644 index 6d5b85f4..00000000 --- a/examples/games/starstruck.php +++ /dev/null @@ -1,151 +0,0 @@ - - - - - \ No newline at end of file diff --git a/examples/games/tanks.js b/examples/games/tanks.js new file mode 100644 index 00000000..010c58a3 --- /dev/null +++ b/examples/games/tanks.js @@ -0,0 +1,298 @@ + +EnemyTank = function (index, game, player, bullets) { + + var x = game.world.randomX; + var y = game.world.randomY; + + this.game = game; + this.health = 3; + this.player = player; + this.bullets = bullets; + this.fireRate = 1000; + this.nextFire = 0; + this.alive = true; + + this.shadow = game.add.sprite(x, y, 'enemy', 'shadow'); + this.tank = game.add.sprite(x, y, 'enemy', 'tank1'); + this.turret = game.add.sprite(x, y, 'enemy', 'turret'); + + this.shadow.anchor.setTo(0.5, 0.5); + this.tank.anchor.setTo(0.5, 0.5); + this.turret.anchor.setTo(0.3, 0.5); + + this.tank.name = index.toString(); + this.tank.body.immovable = true; + this.tank.body.collideWorldBounds = true; + this.tank.body.bounce.setTo(1, 1); + + this.tank.angle = game.rnd.angle(); + + game.physics.velocityFromRotation(this.tank.rotation, 100, this.tank.body.velocity); + +}; + +EnemyTank.prototype.damage = function() { + + this.health -= 1; + + if (this.health <= 0) + { + this.alive = false; + + this.shadow.kill(); + this.tank.kill(); + this.turret.kill(); + + return true; + } + + return false; + +} + +EnemyTank.prototype.update = function() { + + this.shadow.x = this.tank.x; + this.shadow.y = this.tank.y; + this.shadow.rotation = this.tank.rotation; + + this.turret.x = this.tank.x; + this.turret.y = this.tank.y; + this.turret.rotation = this.game.physics.angleBetween(this.tank, this.player); + + if (this.game.physics.distanceBetween(this.tank, this.player) < 300) + { + if (this.game.time.now > this.nextFire && this.bullets.countDead() > 0) + { + this.nextFire = this.game.time.now + this.fireRate; + + var bullet = this.bullets.getFirstDead(); + + bullet.reset(this.turret.x, this.turret.y); + + bullet.rotation = this.game.physics.moveToObject(bullet, this.player, 500); + } + } + +}; + +var game = new Phaser.Game(800, 600, Phaser.AUTO, 'phaser-example', { preload: preload, create: create, update: update, render: render }); +// var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, update: update, render: render }); + +function preload () { + + game.load.atlas('tank', 'assets/games/tanks/tanks.png', 'assets/games/tanks/tanks.json'); + game.load.atlas('enemy', 'assets/games/tanks/enemy-tanks.png', 'assets/games/tanks/tanks.json'); + game.load.image('logo', 'assets/games/tanks/logo.png'); + game.load.image('bullet', 'assets/games/tanks/bullet.png'); + game.load.image('earth', 'assets/games/tanks/scorched_earth.png'); + game.load.spritesheet('kaboom', 'assets/games/tanks/explosion.png', 64, 64, 23); + +} + +var land; + +var shadow; +var tank; +var turret; + +var enemies; +var enemyBullets; +var explosions; + +var logo; + +var currentSpeed = 0; +var cursors; + +var bullets; +var fireRate = 100; +var nextFire = 0; + +function create () { + + // Resize our game world to be a 2000 x 2000 square + game.world.setBounds(-1000, -1000, 2000, 2000); + + // Our tiled scrolling background + land = game.add.tileSprite(0, 0, 800, 600, 'earth'); + land.fixedToCamera = true; + + // The base of our tank + tank = game.add.sprite(0, 0, 'tank', 'tank1'); + tank.anchor.setTo(0.5, 0.5); + tank.animations.add('move', ['tank1', 'tank2', 'tank3', 'tank4', 'tank5', 'tank6'], 20, true); + // tank.play('move'); + + // This will force it to decelerate and limit its speed + tank.body.drag.setTo(200, 200); + tank.body.maxVelocity.setTo(400, 400); + tank.body.collideWorldBounds = true; + + // Finally the turret that we place on-top of the tank body + turret = game.add.sprite(0, 0, 'tank', 'turret'); + turret.anchor.setTo(0.3, 0.5); + + // The enemies bullet group + enemyBullets = game.add.group(); + enemyBullets.createMultiple(100, 'bullet'); + enemyBullets.setAll('anchor.x', 0.5); + enemyBullets.setAll('anchor.y', 0.5); + enemyBullets.setAll('outOfBoundsKill', true); + + // Create some baddies to waste :) + enemies = []; + + for (var i = 0; i < 20; i++) + { + enemies.push(new EnemyTank(i, game, tank, enemyBullets)); + } + + // A shadow below our tank + shadow = game.add.sprite(0, 0, 'tank', 'shadow'); + shadow.anchor.setTo(0.5, 0.5); + + // Our bullet group + bullets = game.add.group(); + bullets.createMultiple(30, 'bullet'); + bullets.setAll('anchor.x', 0.5); + bullets.setAll('anchor.y', 0.5); + bullets.setAll('outOfBoundsKill', true); + + // Explosion pool + explosions = game.add.group(); + + for (var i = 0; i < 10; i++) + { + var explosionAnimation = explosions.create(0, 0, 'kaboom', [0], false); + explosionAnimation.anchor.setTo(0.5, 0.5); + explosionAnimation.animations.add('kaboom'); + } + + tank.bringToTop(); + turret.bringToTop(); + + logo = game.add.sprite(0, 200, 'logo'); + logo.fixedToCamera = true; + + game.input.onDown.add(removeLogo, this); + + game.camera.follow(tank); + game.camera.deadzone = new Phaser.Rectangle(150, 150, 500, 300); + game.camera.focusOnXY(0, 0); + + cursors = game.input.keyboard.createCursorKeys(); + +} + +function removeLogo () { + + game.input.onDown.remove(removeLogo, this); + logo.kill(); + +} + +function update () { + + game.physics.collide(enemyBullets, tank, bulletHitPlayer, null, this); + + for (var i = 0; i < enemies.length; i++) + { + if (enemies[i].alive) + { + enemies[i].update(); + game.physics.collide(tank, enemies[i].tank); + game.physics.collide(bullets, enemies[i].tank, bulletHitEnemy, null, this); + } + } + + if (cursors.left.isDown) + { + tank.angle -= 4; + } + else if (cursors.right.isDown) + { + tank.angle += 4; + } + + if (cursors.up.isDown) + { + // The speed we'll travel at + currentSpeed = 300; + } + else + { + if (currentSpeed > 0) + { + currentSpeed -= 4; + } + } + + if (currentSpeed > 0) + { + game.physics.velocityFromRotation(tank.rotation, currentSpeed, tank.body.velocity); + } + + land.tilePosition.x = -game.camera.x; + land.tilePosition.y = -game.camera.y; + + // Position all the parts and align rotations + shadow.x = tank.x; + shadow.y = tank.y; + shadow.rotation = tank.rotation; + + turret.x = tank.x; + turret.y = tank.y; + + turret.rotation = game.physics.angleToPointer(turret); + + if (game.input.activePointer.isDown) + { + // Boom! + fire(); + } + +} + +function bulletHitPlayer (tank, bullet) { + + bullet.kill(); + +} + +function bulletHitEnemy (tank, bullet) { + + bullet.kill(); + + var destroyed = enemies[tank.name].damage(); + + if (destroyed) + { + var explosionAnimation = explosions.getFirstDead(); + explosionAnimation.reset(tank.x, tank.y); + explosionAnimation.play('kaboom', 30, false, true); + } + +} + +function fire () { + + if (game.time.now > nextFire && bullets.countDead() > 0) + { + nextFire = game.time.now + fireRate; + + var bullet = bullets.getFirstDead(); + + bullet.reset(turret.x, turret.y); + + bullet.rotation = game.physics.moveToPointer(bullet, 1000); + } + +} + +function render () { + + // game.debug.renderText('Active Bullets: ' + bullets.countLiving() + ' / ' + bullets.total, 32, 32); + +} + diff --git a/examples/games/tanks.php b/examples/games/tanks.php deleted file mode 100644 index 0e8655c0..00000000 --- a/examples/games/tanks.php +++ /dev/null @@ -1,325 +0,0 @@ - - - - - \ No newline at end of file diff --git a/examples/geometry/circle.js b/examples/geometry/circle.js new file mode 100644 index 00000000..45972def --- /dev/null +++ b/examples/geometry/circle.js @@ -0,0 +1,19 @@ + +var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { create: create, render: render }); + +var circle; +var floor; + +function create() { + + circle = new Phaser.Circle(game.world.centerX, 100,64); + +} + +function render () { + + game.debug.renderCircle(circle,'#cfffff'); + game.debug.renderText('Diameter : '+circle.diameter,50,200); + game.debug.renderText('Circumference : '+circle.circumference(),50,230); + +} diff --git a/examples/geometry/circle.php b/examples/geometry/circle.php deleted file mode 100644 index 3672d01f..00000000 --- a/examples/geometry/circle.php +++ /dev/null @@ -1,32 +0,0 @@ - - - - - \ No newline at end of file diff --git a/examples/geometry/line.js b/examples/geometry/line.js new file mode 100644 index 00000000..61b3f502 --- /dev/null +++ b/examples/geometry/line.js @@ -0,0 +1,17 @@ + +var game = new Phaser.Game(800, 600, Phaser.AUTO, 'phaser-example', { create: create }); + +function create() { + + var graphics = game.add.graphics(50,50); + + // set a fill and line style + graphics.beginFill(0xFF0000); + graphics.lineStyle(10, 0xFF0000, 1); + + // draw a shape + graphics.moveTo(50,50); + graphics.lineTo(250, 50); + graphics.endFill(); + +} diff --git a/examples/geometry/line.php b/examples/geometry/line.php deleted file mode 100644 index edfd6474..00000000 --- a/examples/geometry/line.php +++ /dev/null @@ -1,32 +0,0 @@ - - - - - \ No newline at end of file diff --git a/examples/geometry/playing with points.js b/examples/geometry/playing with points.js new file mode 100644 index 00000000..7b930218 --- /dev/null +++ b/examples/geometry/playing with points.js @@ -0,0 +1,57 @@ + +var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', {create: create, update: update, render: render }); + +var p1; +var p2; +var p3; +var p4; + +var d2 = 0; +var d3 = 0; +var d4 = 0; + +function create() { + + p1 = new Phaser.Point(game.world.centerX, game.world.centerY); + p2 = new Phaser.Point(p1.x - 50, p1.y - 50); + p3 = new Phaser.Point(p2.x - 50, p2.y - 50); + p4 = new Phaser.Point(p3.x - 50, p3.y - 50); + +} + +function update() { + + p2.rotate(p1.x, p1.y, game.math.wrapAngle(d2), true, 150); + p3.rotate(p2.x, p2.y, game.math.wrapAngle(d3), true, 50); + p4.rotate(p3.x, p3.y, game.math.wrapAngle(d4), true, 100); + + d2 += 1; + d3 += 4; + d4 += 6; + +} + +function render() { + + game.context.strokeStyle = 'rgb(0,255,255)'; + game.context.beginPath(); + game.context.moveTo(p1.x, p1.y); + game.context.lineTo(p2.x, p2.y); + game.context.lineTo(p3.x, p3.y); + game.context.lineTo(p4.x, p4.y); + game.context.stroke(); + game.context.closePath(); + + game.context.fillStyle = 'rgb(255,255,0)'; + game.context.fillRect(p1.x, p1.y, 4, 4); + + game.context.fillStyle = 'rgb(255,0,0)'; + game.context.fillRect(p2.x, p2.y, 4, 4); + + game.context.fillStyle = 'rgb(0,255,0)'; + game.context.fillRect(p3.x, p3.y, 4, 4); + + game.context.fillStyle = 'rgb(255,0,255)'; + game.context.fillRect(p4.x, p4.y, 4, 4); + +} diff --git a/examples/geometry/playing with points.php b/examples/geometry/playing with points.php deleted file mode 100644 index c1e008c7..00000000 --- a/examples/geometry/playing with points.php +++ /dev/null @@ -1,70 +0,0 @@ - - - - - \ No newline at end of file diff --git a/examples/geometry/rectangle.js b/examples/geometry/rectangle.js new file mode 100644 index 00000000..71af3359 --- /dev/null +++ b/examples/geometry/rectangle.js @@ -0,0 +1,16 @@ + +var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { create: create, render: render }); + +var floor; + +function create() { + + floor = new Phaser.Rectangle(0, 550, 800, 50); + +} + +function render () { + + game.debug.renderRectangle(floor,'#0fffff'); + +} diff --git a/examples/geometry/rectangle.php b/examples/geometry/rectangle.php deleted file mode 100644 index c1d9211c..00000000 --- a/examples/geometry/rectangle.php +++ /dev/null @@ -1,30 +0,0 @@ - - - - - \ No newline at end of file diff --git a/examples/geometry/rotate point.js b/examples/geometry/rotate point.js new file mode 100644 index 00000000..99b2ec01 --- /dev/null +++ b/examples/geometry/rotate point.js @@ -0,0 +1,31 @@ + +var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', {create: create, update: update, render: render }); + +var p1; +var p2; +var d = 0; + +function create() { + + p1 = new Phaser.Point(200, 300); + p2 = new Phaser.Point(300, 300); + +} + +function update() { + + p1.rotate(p2.x, p2.y, game.math.wrapAngle(d), true); + + d++; + +} + +function render() { + + game.context.fillStyle = 'rgb(255,255,0)'; + game.context.fillRect(p1.x, p1.y, 4, 4); + + game.context.fillStyle = 'rgb(255,0,0)'; + game.context.fillRect(p2.x, p2.y, 4, 4); + +} diff --git a/examples/geometry/rotate point.php b/examples/geometry/rotate point.php deleted file mode 100644 index 25905f26..00000000 --- a/examples/geometry/rotate point.php +++ /dev/null @@ -1,47 +0,0 @@ - - - - - \ No newline at end of file diff --git a/examples/groups/add a sprite to group.js b/examples/groups/add a sprite to group.js new file mode 100644 index 00000000..09f9d257 --- /dev/null +++ b/examples/groups/add a sprite to group.js @@ -0,0 +1,34 @@ + +var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create }); + +var friendAndFoe; +var enemies; + +function preload() { + + game.load.image('ufo', 'assets/sprites/ufo.png'); + game.load.image('baddie', 'assets/sprites/space-baddie.png'); + +} + +function create() { + + // Here we create 2 new groups + friendAndFoe = game.add.group(); + enemies = game.add.group(); + + for (var i = 0; i < 16; i++) + { + // This creates a new Phaser.Sprite instance within the group + // It will be randomly placed within the world and use the 'baddie' image to display + enemies.create(360 + Math.random() * 200, 120 + Math.random() * 200, 'baddie'); + } + + // You can also add existing sprites to a group. + // Here we'll create a local sprite called 'ufo' + var ufo = game.add.sprite(200, 240, 'ufo'); + + // And then add it to the group + friendAndFoe.add(ufo); + +} diff --git a/examples/groups/add a sprite to group.php b/examples/groups/add a sprite to group.php deleted file mode 100644 index b224864a..00000000 --- a/examples/groups/add a sprite to group.php +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - diff --git a/examples/groups/bring a child to top.js b/examples/groups/bring a child to top.js new file mode 100644 index 00000000..07a2f82a --- /dev/null +++ b/examples/groups/bring a child to top.js @@ -0,0 +1,34 @@ + +var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, render: render }); + +function preload() { + game.load.spritesheet('button', 'assets/buttons/number-buttons.png', 160, 160); +} + +var container; + +function create() { + + container = game.add.group(); + + // Add buttons to container. + container.add(game.add.button(200, 100, 'button', bringMeToTop, this, 0, 0, 0)); + container.add(game.add.button(300, 100, 'button', bringMeToTop, this, 1, 1, 1)); + container.add(game.add.button(100, 200, 'button', bringMeToTop, this, 2, 2, 2)); + container.add(game.add.button(400, 200, 'button', bringMeToTop, this, 3, 3, 3)); + container.add(game.add.button(300, 300, 'button', bringMeToTop, this, 4, 4, 4)); + container.add(game.add.button(200, 300, 'button', bringMeToTop, this, 5, 5, 5)); + +} + +function render() { + + game.debug.renderText('Tap or click button to bring it to the top.', 32, 32); + +} + +function bringMeToTop(btn) { + + container.bringToTop(btn); + +} diff --git a/examples/groups/bring a child to top.php b/examples/groups/bring a child to top.php deleted file mode 100644 index 8c0d043a..00000000 --- a/examples/groups/bring a child to top.php +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - diff --git a/examples/groups/bring a group to top.js b/examples/groups/bring a group to top.js new file mode 100644 index 00000000..2a67bf2b --- /dev/null +++ b/examples/groups/bring a group to top.js @@ -0,0 +1,83 @@ + +var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, update: update, render: render }); + +function preload() { + + game.load.image('beast', 'assets/pics/shadow_of_the_beast2_karamoon.png'); + game.load.image('snot', 'assets/pics/nslide_snot.png'); + game.load.image('atari1', 'assets/sprites/atari130xe.png'); + game.load.image('sonic', 'assets/sprites/sonic_havok_sanity.png'); + game.load.image('coke', 'assets/sprites/cokecan.png'); + game.load.image('disk', 'assets/sprites/oz_pov_melting_disk.png'); + +} + +var group1; +var group2; +var coke; +var disk; + +function create() { + + // Create a background image + game.add.sprite(0, 0, 'beast'); + + // Create a Group that will sit above the background image + group1 = game.add.group(); + + // Create a Group that will sit above Group 1 + group2 = game.add.group(); + + // Now let's create some random sprites and enable them all for drag and 'bring to top' + for (var i = 0; i < 10; i++) + { + + var tempSprite = game.add.sprite(game.stage.randomX, game.stage.randomY, 'atari1'); + + tempSprite.name = 'atari' + i; + tempSprite.input.start(i, true); + tempSprite.input.enableDrag(false, true); + + group1.add(tempSprite); + + // Sonics + + var tempSprite=game.add.sprite(game.stage.randomX, game.stage.randomY, 'sonic'); + + tempSprite.name = 'sonic' + i; + tempSprite.input.start(10 + i, true); + tempSprite.input.enableDrag(false, true); + + group2.add(tempSprite); + } + + // Add 2 control sprites into each group - these cannot be dragged but should be bought to the top each time + coke = group1.create(100, 100, 'coke'); + disk = group2.create(400, 300, 'disk'); + + // Create a foreground image - everything should appear behind this, even when dragged + var snot = game.add.sprite(game.world.centerX, game.world.height, 'snot'); + snot.anchor.setTo(0.5, 1); + + // You can click and drag any sprite but Sonic sprites should always appear above the Atari sprites + // and both types of sprite should only ever appear above the background and behind the + +} + +function update() { + + if (game.input.keyboard.justReleased(Phaser.Keyboard.ONE)) + { + coke.bringToTop(); + } + + if (game.input.keyboard.justReleased(Phaser.Keyboard.TWO)) + { + disk.bringToTop(); + } + +} + +function render() { + game.debug.renderInputInfo(32, 32); +} diff --git a/examples/groups/bring a group to top.php b/examples/groups/bring a group to top.php deleted file mode 100644 index 5a8324aa..00000000 --- a/examples/groups/bring a group to top.php +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - diff --git a/examples/groups/call all.js b/examples/groups/call all.js new file mode 100644 index 00000000..ac7d1418 --- /dev/null +++ b/examples/groups/call all.js @@ -0,0 +1,52 @@ + +var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, render: render }); + +function preload() { + + game.load.spritesheet('item', 'assets/buttons/number-buttons-90x90.png', 90, 90); + game.load.image('reviveBtn', 'assets/buttons/revive-button.png'); + +} + +function create() { + + // Add some items. + var item; + + for (var i = 0; i < 3; i++) + { + // Give the items a different alpha increase speed. + item = game.add.sprite(290, 98 * (i + 1), 'item', i); + + // Enable input. + item.input.start(0, true); + item.events.onInputUp.add(kill); + + // An item besides the left one. + item = game.add.sprite(388, 98 * (i + 1), 'item', i + 3); + item.input.start(0, true); + item.events.onInputUp.add(kill); + } + + // Add a button to revive all the items. + game.add.button(270, 400, 'reviveBtn', reviveAll, this, 0, 0, 0); + +} + +function kill(item) { + + item.kill(); + +} + +function reviveAll() { + + game.world.callAll('revive'); + +} + +function render() { + + game.debug.renderText('Tap or click an item to kill it, and press the revive button to revive them all.', 160, 500); + +} diff --git a/examples/groups/call all.php b/examples/groups/call all.php deleted file mode 100644 index a876b5f4..00000000 --- a/examples/groups/call all.php +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - diff --git a/examples/groups/create group.js b/examples/groups/create group.js new file mode 100644 index 00000000..81af43d2 --- /dev/null +++ b/examples/groups/create group.js @@ -0,0 +1,36 @@ + +var game = new Phaser.Game(800, 600, Phaser.AUTO, 'phaser-example', { preload: preload, create: create}); + + function preload() { + + game.load.image('sonic', 'assets/sprites/sonic_havok_sanity.png'); + +} + +var firstGroup; + +function create() { + + // Here we'll create a new Group + firstGroup = game.add.group(); + + // And add some sprites to it + for (var i = 0; i < 10; i++) + { + // Create a new sprite at a random screen location + var newSprite = new Phaser.Sprite(game, game.stage.randomX, game.stage.randomY, 'sonic'); + + // This set-ups a listener for the event, view your console.log output to see the result + newSprite.events.onAddedToGroup.add(logGroupAdd); + + // Add the sprite to the Group + firstGroup.add(newSprite); + } + +} + +function logGroupAdd(sprite, group) { + + console.log('Sprite added to Group', group.ID, 'at z-index:', group.getIndex(sprite)); + +} diff --git a/examples/groups/create group.php b/examples/groups/create group.php deleted file mode 100644 index e0c68a91..00000000 --- a/examples/groups/create group.php +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - diff --git a/examples/groups/create sprite in a group.js b/examples/groups/create sprite in a group.js new file mode 100644 index 00000000..4b6689f4 --- /dev/null +++ b/examples/groups/create sprite in a group.js @@ -0,0 +1,45 @@ + +var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, render: render }); + +function preload() { + + game.load.image('ufo', 'assets/sprites/ufo.png'); + game.load.image('baddie', 'assets/sprites/space-baddie.png'); + +} + +var friendAndFoe; +var enemies; + +function create() { + + // Create some local groups for later use. + friendAndFoe = game.add.group(); + enemies = game.add.group(); + + // You can directly create a sprite and add it to a group + // using just one line. + friendAndFoe.create(200, 240, 'ufo'); + + // Create some enemies. + for (var i = 0; i < 8; i++) + { + createBaddie(); + } + + // Tap to create new baddie sprites. + game.input.onTap.add(createBaddie, this); + +} + +function createBaddie() { + + enemies.create(360 + Math.random() * 200, 120 + Math.random() * 200,'baddie'); + +} + +function render() { + + game.debug.renderText('Tap screen or click to create new baddies.', 16, 24); + +} diff --git a/examples/groups/create sprite in a group.php b/examples/groups/create sprite in a group.php deleted file mode 100644 index 16ccdf0c..00000000 --- a/examples/groups/create sprite in a group.php +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - diff --git a/examples/groups/display order.js b/examples/groups/display order.js new file mode 100644 index 00000000..f9ae1c13 --- /dev/null +++ b/examples/groups/display order.js @@ -0,0 +1,43 @@ +var game = new Phaser.Game(800, 600, Phaser.AUTO, 'phaser-example', { preload: preload, create: create }); + +function preload() { + + game.load.image('atari1', 'assets/sprites/atari130xe.png'); + game.load.image('atari2', 'assets/sprites/atari800xl.png'); + game.load.image('card', 'assets/sprites/mana_card.png'); + +} + +var items; +var card; + +function create() { + + items = game.add.group(); + + // Items are rendered in the depth order in which they are added to the Group + items.create(64, 100, 'atari1'); + card = items.create(240, 80, 'card'); + items.create(280, 100, 'atari2'); + + game.input.onTap.addOnce(removeCard, this);// obviously the event can be fired only once + +} + +function removeCard() { + + // Now let's kill the card sprite + card.kill(); + + game.input.onTap.addOnce(replaceCard, this); + +} + +function replaceCard() { + + // And bring it back to life again - I assume it will render in the same place as before? + var bob = items.getFirstDead(); + + bob.revive(); + +} diff --git a/examples/groups/display order.php b/examples/groups/display order.php deleted file mode 100644 index 25d7e5a1..00000000 --- a/examples/groups/display order.php +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - diff --git a/examples/groups/for each.js b/examples/groups/for each.js new file mode 100644 index 00000000..705422d3 --- /dev/null +++ b/examples/groups/for each.js @@ -0,0 +1,43 @@ + +var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, update: update, render: render }); + +var baseAlphaIncSpeed= 0.006; + +function preload() { + game.load.spritesheet('item', 'assets/buttons/number-buttons-90x90.png', 90, 90); +} + +function create() { + + for (var i = 0; i < 3; i++) + { + // Note: alphaIncSpeed is a new property we're adding to Phaser.Sprite, not a pre-existing one + game.add.sprite(290, 98 * (i + 1), 'item', i).alphaIncSpeed = baseAlphaIncSpeed * (i + 1); + game.add.sprite(388, 98 * (i + 1), 'item', i + 3).alphaIncSpeed = baseAlphaIncSpeed * (i + 4); + } + +} + +function update() { + + // Animating alpha property of each item using forEach() method. + game.world.forEach(function(item) { + + // Update alpha first. + item.alpha -= item.alphaIncSpeed; + + // Check for switch between increasing and descreasing. + if (item.alpha < 0.001 || item.alpha > 0.999) + { + item.alphaIncSpeed *= -1; + } + + }); + +} + +function render() { + + game.debug.renderText('Alpha of items is always changing.', 280, 480); + +} diff --git a/examples/groups/for each.php b/examples/groups/for each.php deleted file mode 100644 index 502b2e20..00000000 --- a/examples/groups/for each.php +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - diff --git a/examples/groups/get first.js b/examples/groups/get first.js new file mode 100644 index 00000000..e6ea77ba --- /dev/null +++ b/examples/groups/get first.js @@ -0,0 +1,60 @@ + +var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, update: update, render: render }); + +function preload() { + + game.load.spritesheet('item', 'assets/buttons/number-buttons-90x90.png', 90, 90); + game.load.image('reviveBtn', 'assets/buttons/revive-button.png'); + +} + +var timer; +var cycle; + +function create() { + + // Add some items. + var item; + + for (var i = 0; i < 3; i++) + { + // Give the items a different alpha increase speed. + item = game.add.sprite(290, 98 * (i + 1), 'item', i); + + // An item beside the left one. + item = game.add.sprite(388, 98 * (i + 1), 'item', i + 3); + } + + // Set a timer so we can perform an action after a delay. + timer = 0; + cycle = 1000; + +} + +function update() { + + if (game.time.now > timer) + { + // Update timer. + timer = game.time.now +cycle; + + // Get the first alive item and kill it. + var item = game.world.getFirstAlive(); + + if (item) + { + item.kill(); + } + + } + +} + +function render() { + + game.debug.renderText('One item will be killed each second.', 280, 420); + + // Get living and dead number of a group. + game.debug.renderText('Living: ' + game.world.countLiving() + ', Dead: ' + game.world.countDead(), 330, 440); + +} diff --git a/examples/groups/get first.php b/examples/groups/get first.php deleted file mode 100644 index 4948e755..00000000 --- a/examples/groups/get first.php +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - diff --git a/examples/groups/group as layer.js b/examples/groups/group as layer.js new file mode 100644 index 00000000..c88581c2 --- /dev/null +++ b/examples/groups/group as layer.js @@ -0,0 +1,73 @@ + +var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, render: render }); + +function preload() { + + game.world.setBounds(0,0,1280, 800); + + game.load.image('ground', 'assets/tests/ground-2x.png'); + game.load.image('river', 'assets/tests/river-2x.png'); + game.load.image('sky', 'assets/tests/sky-2x.png'); + game.load.image('cloud0', 'assets/tests/cloud-big-2x.png'); + game.load.image('cloud1', 'assets/tests/cloud-narrow-2x.png'); + game.load.image('cloud2', 'assets/tests/cloud-small-2x.png'); + + game.load.spritesheet('ufo', 'assets/sprites/ufo.png', 24, 21); + +} + +function create() { + + // Create the sky layer, behind everything and donot move. + var skyLayer = game.add.group(); + skyLayer.z = 0; + // Create the cloud layer, only beyond the sky. + var cloudLayer = game.add.group(); + cloudLayer.z = 1; + // Create the ground, behind the river and beyond clouds. + var groundLayer = game.add.group(); + groundLayer.z = 2; + // Create the sprite layer. This should behind the river, + // and beyond the ground, cloud and sky layer. + var spriteLayer = game.add.group(); + spriteLayer.z = 3; + // Create the river layer, beyond everything. + var riverLayer = game.add.group(); + riverLayer.z = 4; + + // Add sky background to skyLayer. + var sky = new Phaser.Sprite(game, 0, 0, 'sky'); + skyLayer.add(sky); + + // Add clouds to cloudLayer. + var cloud0 = new Phaser.Sprite(game, 200, 120, 'cloud0'); + var cloud1 = new Phaser.Sprite(game, -60, 120, 'cloud1'); + var cloud2 = new Phaser.Sprite(game, 900, 170, 'cloud2'); + cloudLayer.add(cloud0); + cloudLayer.add(cloud1); + cloudLayer.add(cloud2); + + // Add ground sprite to groundLayer. + var ground = new Phaser.Sprite(game, 0, 360, 'ground'); + groundLayer.add(ground); + + // Add river to riverLayer. + var river = new Phaser.Sprite(game, 0, 400, 'river'); + riverLayer.add(river); + + // Add sprites to spriteLayer. + var ufo = new Phaser.Sprite(game, 360, 240, 'ufo'); + ufo.anchor.setTo(0.5, 0.5); + spriteLayer.add(ufo); + +} + +function render() { + + game.debug.renderText('sky layer: z = 0', 16, 20); + game.debug.renderText('cloud layer: z = 1', 16, 36); + game.debug.renderText('ground layer: z = 2', 16, 52); + game.debug.renderText('sprite layer: z = 3', 16, 68); + game.debug.renderText('river layer: z = 4', 16, 84); + +} diff --git a/examples/groups/group as layer.php b/examples/groups/group as layer.php deleted file mode 100644 index ac433a8d..00000000 --- a/examples/groups/group as layer.php +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - diff --git a/examples/groups/group transform - rotate.js b/examples/groups/group transform - rotate.js new file mode 100644 index 00000000..e310ee5c --- /dev/null +++ b/examples/groups/group transform - rotate.js @@ -0,0 +1,50 @@ + +var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, update: update, render: render }); + +var robot; +var eye; +var body; +var leftArm; +var rightArm; +var leftLeg; +var rightLeg; + +function preload() { + + game.load.image('eye', 'assets/sprites/robot/eye.png'); + game.load.image('body', 'assets/sprites/robot/body.png'); + game.load.image('arm-l', 'assets/sprites/robot/arm-l.png'); + game.load.image('arm-r', 'assets/sprites/robot/arm-r.png'); + game.load.image('leg-l', 'assets/sprites/robot/leg-l.png'); + game.load.image('leg-r', 'assets/sprites/robot/leg-r.png'); + +} + +function create() { + + // Use groups of sprites to create a big robot. + // Robot itself, you can subclass group class in a real game. + robot = game.add.group(); + + // Robot components. + leftArm = robot.create(90, 175, 'arm-l'); + rightArm = robot.create(549, 175, 'arm-r'); + leftLeg = robot.create(270, 325, 'leg-l'); + rightLeg = robot.create(410, 325, 'leg-r'); + body = robot.create(219, 32, 'body'); + eye = robot.create(335, 173,'eye'); + +} + +function update() { + + // Change parent's rotation to change all the childs. + robot.angle += 2; + +} + +function render() { + + game.debug.renderText('The robot is a group and every component is a sprite.', 240, 580); + +} diff --git a/examples/groups/group transform - rotate.php b/examples/groups/group transform - rotate.php deleted file mode 100644 index bbccd179..00000000 --- a/examples/groups/group transform - rotate.php +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - diff --git a/examples/groups/group transform - tween.js b/examples/groups/group transform - tween.js new file mode 100644 index 00000000..7b37db20 --- /dev/null +++ b/examples/groups/group transform - tween.js @@ -0,0 +1,46 @@ + +var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, render: render }); + +var robot; +var eye; +var body; +var leftArm; +var rightArm; +var leftLeg; +var rightLeg; + +function preload() { + + game.load.image('eye', 'assets/sprites/robot/eye.png'); + game.load.image('body', 'assets/sprites/robot/body.png'); + game.load.image('arm-l', 'assets/sprites/robot/arm-l.png'); + game.load.image('arm-r', 'assets/sprites/robot/arm-r.png'); + game.load.image('leg-l', 'assets/sprites/robot/leg-l.png'); + game.load.image('leg-r', 'assets/sprites/robot/leg-r.png'); + +} + +function create() { + + // Use groups of sprites to create a big robot. + // Robot itself, you can subclass group class in a real game. + robot = game.add.group(); + + // Robot components. + leftArm = robot.create(90, 175, 'arm-l'); + rightArm = robot.create(549, 175, 'arm-r'); + leftLeg = robot.create(270, 325, 'leg-l'); + rightLeg = robot.create(410, 325, 'leg-r'); + body = robot.create(219, 32, 'body'); + eye = robot.create(335, 173,'eye'); + + // Tween the robot's size, so all the components also scaled. + game.add.tween(robot._container.scale).to( {x: 1.2, y: 1.2}, 1000, Phaser.Easing.Back.InOut, true, 0, false).yoyo(true); + +} + +function render() { + + game.debug.renderText('The robot is a group and every component is a sprite.', 240, 580); + +} diff --git a/examples/groups/group transform - tween.php b/examples/groups/group transform - tween.php deleted file mode 100644 index 6321e5ba..00000000 --- a/examples/groups/group transform - tween.php +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - diff --git a/examples/groups/group transform.js b/examples/groups/group transform.js new file mode 100644 index 00000000..07c3cec4 --- /dev/null +++ b/examples/groups/group transform.js @@ -0,0 +1,65 @@ + +var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, render: render }); + +var robot; +var eye; +var body; +var leftArm; +var rightArm; +var leftLeg; +var rightLeg; + +function preload() { + + game.load.image('eye', 'assets/sprites/robot/eye.png'); + game.load.image('body', 'assets/sprites/robot/body.png'); + game.load.image('arm-l', 'assets/sprites/robot/arm-l.png'); + game.load.image('arm-r', 'assets/sprites/robot/arm-r.png'); + game.load.image('leg-l', 'assets/sprites/robot/leg-l.png'); + game.load.image('leg-r', 'assets/sprites/robot/leg-r.png'); + +} + +function create() { + + // Use groups of sprites to create a big robot. + // Robot itself, you can subclass group class in a real game. + robot = game.add.group(); + + // Robot components. + leftArm = robot.create(90, 175, 'arm-l'); + rightArm = robot.create(549, 175, 'arm-r'); + leftLeg = robot.create(270, 325, 'leg-l'); + rightLeg = robot.create(410, 325, 'leg-r'); + body = robot.create(219, 32, 'body'); + eye = robot.create(335, 173,'eye'); + + leftArm.input.start(0, false, true); + leftArm.input.enableDrag(); + rightArm.input.start(0, false, true); + rightArm.input.enableDrag(); + leftLeg.input.start(0, false, true); + leftLeg.input.enableDrag(); + rightLeg.input.start(0, false, true); + rightLeg.input.enableDrag(); + body.input.start(0, false, true); + body.input.enableDrag(); + eye.input.start(0, false, true); + eye.input.enableDrag(); + +} + +function render() { + + game.debug.renderSpriteInfo(leftArm, 32, 30); + game.debug.renderSpriteInfo(rightArm, 32, 180); + game.debug.renderSpriteInfo(leftLeg, 32, 325); + game.debug.renderSpriteInfo(rightLeg, 32, 470); + game.debug.renderSpriteInfo(rightLeg, 450, 30); + game.debug.renderSpriteInfo(rightLeg, 450, 180); + + game.debug.renderText('The robot is a group and every component is a sprite.', 240, 580); + game.debug.renderText('Drag each part to re-position them. ', 288, 592); + +} + diff --git a/examples/groups/group transform.php b/examples/groups/group transform.php deleted file mode 100644 index 8dec4ec6..00000000 --- a/examples/groups/group transform.php +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - diff --git a/examples/groups/recyling.js b/examples/groups/recyling.js new file mode 100644 index 00000000..4374543b --- /dev/null +++ b/examples/groups/recyling.js @@ -0,0 +1,62 @@ +var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, render: render }); + +var enemies; + +function preload() { + + game.load.image('baddie', 'assets/sprites/space-baddie.png'); + game.load.spritesheet('button', 'assets/buttons/baddie-buttons.png', 224, 70); + +} + +function create() { + + // Create a enemies group to store the baddies + enemies = game.add.group(); + + // Create some enemies. + for (var i = 0; i < 8; i++) + { + // Since the getFirstExists() which we'll use for recycling + // cannot allocate new objects, create them manually here. + enemies.create(360 + Math.random() * 200, 120 + Math.random() * 200, 'baddie'); + } + + // Create buttons to create and kill baddies. + game.add.button(16, 50, 'button', createBaddie,this, 0, 0, 0); + game.add.button(16, 130, 'button', killBaddie,this, 1, 1, 1); + +} + +function killBaddie() { + + var baddie = enemies.getFirstAlive(); + + if (baddie) + { + baddie.kill(); + } + +} + +function createBaddie() { + + // Recycle using getFirstExists(false) + // Notice that this method will not create new objects if there's no one + // available, and it won't change size of this group. + var enemy = enemies.getFirstExists(false); + + if (enemy) + { + enemy.revive(); + } + +} + +function render() { + + game.debug.renderText('Recycle baddies from a group using getFirstExists.', 16, 24); + game.debug.renderText('Notice that you cannot add more than 8 baddies since we only create 8 instance.', 16, 36); + game.debug.renderText('Living baddies: ' + (enemies.countLiving()), 340, 420); + +} diff --git a/examples/groups/recyling.php b/examples/groups/recyling.php deleted file mode 100644 index 4447503c..00000000 --- a/examples/groups/recyling.php +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - diff --git a/examples/groups/remove.js b/examples/groups/remove.js new file mode 100644 index 00000000..85ed08dd --- /dev/null +++ b/examples/groups/remove.js @@ -0,0 +1,64 @@ + +var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, render: render }); + +var items; + +function preload() { + + game.load.spritesheet('item', 'assets/buttons/number-buttons-90x90.png', 90, 90); + game.load.image('rect', 'assets/tests/200x100corners.png'); +} + +function create() { + + // Create item container group. + items = game.add.group(); + + // Add some items and add them to the container group, + // then you can drag and drop them to remove. + var item; + + for (var i = 0; i < 6; i++) + { + // Directly create sprites from the group. + item = items.create(90, 90 * i, 'item', i); + // Enable input detection, then it's possible be dragged. + item.input.start(0,true); + // Make this item draggable. + item.input.enableDrag(); + // Then we make it snap to 90x90 grids. + item.input.enableSnap(90, 90, false, true); + // Add a handler to remove it using different options when dropped. + item.events.onDragStop.add(dropHandler); + } + + // Create a rectangle drop it at this rectangle to + // remove it from origin group normally or + // cut it from the group's array entirely. + var rect = game.add.sprite(390, 0, 'rect'); + rect.scale.setTo(2.0, 3.0); + +} + +function render() { + + game.debug.renderText('Size of group: ' + items.length, 100, 560); + game.debug.renderText('Drop here to cut items from groups entirely.', 390, 24); + +} + +function dropHandler(item, pointer) { + + if (item.x < 90) + { + item.x = 90; + } + else if (item.x > 400) + { + // So it is dropped in one rectangle. + // Remove it from group normally, so the group's size does not change. + items.remove(item); + console.log("Group length : "+items.length); + } + +} diff --git a/examples/groups/remove.php b/examples/groups/remove.php deleted file mode 100644 index afd9ce2e..00000000 --- a/examples/groups/remove.php +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - diff --git a/examples/groups/replace.js b/examples/groups/replace.js new file mode 100644 index 00000000..8fac9595 --- /dev/null +++ b/examples/groups/replace.js @@ -0,0 +1,76 @@ +var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, render: render }); + +// Left and right group. +var left +var right; + +// The first selected item. +var selected = null; + +function preload() { + game.load.spritesheet('item', 'assets/buttons/number-buttons-90x90.png', 90, 90); +} + +function create() { + + left = game.add.group(); + right = game.add.group(); + + // Add some items to left side, and set a onDragStop listener + // to limit its location when dropped. + var item; + + for (var i = 0; i < 3; i++) + { + // Directly create sprites from the left group. + item = left.create(290, 98 * (i + 1), 'item', i); + // Enable input. + item.input.start(0, false, true); + item.events.onInputUp.add(select); + // Add another to the right group. + item = right.create(388, 98 * (i + 1), 'item', i + 3); + // Enable input. + item.input.start(0,true); + item.events.onInputUp.add(select); + } +} + +function select(item, pointer) { + + // If there's no one selected, mark it as selected. + if (!selected) + { + selected = item; + selected.alpha = 0.5; + } + else + { + // Items from different group selected, replace with each other; + // Something like a swap action, maybe better done with + // group.swap() method. + if (selected.group !== item.group) + { + // Move the later selected to the first selected item's position. + item.x = selected.x; + item.y = selected.y; + // Replace first selected with the second one. + selected.group.replace(selected, item); + } + else + { + selected.alpha = 1; + } + + // After checking, now clear the helper var. + selected = null; + } + +} + +function render() { + + game.debug.renderText('Left Group', 300, 80); + game.debug.renderText('Right Group', 400, 80); + game.debug.renderText('Click an item and one from another group to replace it.', 240, 480); + +} diff --git a/examples/groups/replace.php b/examples/groups/replace.php deleted file mode 100644 index 6866d331..00000000 --- a/examples/groups/replace.php +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - diff --git a/examples/groups/set All.js b/examples/groups/set All.js new file mode 100644 index 00000000..bafcc3a7 --- /dev/null +++ b/examples/groups/set All.js @@ -0,0 +1,35 @@ + +var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, render: render }); + +var baseIncSpeed= 0.006; + +function preload() { + game.load.spritesheet('item', 'assets/buttons/number-buttons-90x90.png', 90, 90); +} + +function create() { + + // Add some items. + for (var i = 0; i < 3; i++) + { + // Give the items a different alpha increase speed. + game.add.sprite(290, 98 * (i + 1), 'item', i).alphaIncSpeed = baseIncSpeed * (i + 1); + game.add.sprite(388, 98 * (i + 1), 'item', i + 3).alphaIncSpeed = baseIncSpeed * (i + 4); + } + + game.input.onTap.add(resetAlpha,this); + +} + +function resetAlpha() { + + // Set "alpha" value of all the childs. + game.world.setAll('alpha', Math.random()); + +} + +function render() { + + game.debug.renderText('Tap or click to set random alpha of all the items.', 240, 480); + +} diff --git a/examples/groups/set All.php b/examples/groups/set All.php deleted file mode 100644 index 6f0058f8..00000000 --- a/examples/groups/set All.php +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - diff --git a/examples/groups/sub groups - group length.js b/examples/groups/sub groups - group length.js new file mode 100644 index 00000000..0311b95d --- /dev/null +++ b/examples/groups/sub groups - group length.js @@ -0,0 +1,72 @@ + +var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, render: render }); + +// Groups for storing friends and enemies, may use for collision later. +var friendAndFoe; +var enemies; + +// Groups for teaming up stuff. +var normalBaddies; +var purpleBaddies; + +function preload() { + + game.load.image('ufo', 'assets/sprites/ufo.png'); + game.load.image('baddie', 'assets/sprites/space-baddie.png'); + game.load.image('purple-baddie', 'assets/sprites/space-baddie-purple.png'); + +} + +function create() { + + // Create some local groups for later use. + friendAndFoe = game.add.group(); + enemies = game.add.group(); + normalBaddies = game.add.group(); + purpleBaddies = game.add.group(); + + // Add both teams to enemies group, using the Pixi container otherwise it's impossible + enemies.add(normalBaddies._container); + enemies.add(purpleBaddies._container); + + + // Create a ufo as a friend sprite. + friendAndFoe.create(200, 240, 'ufo'); + + // Create some enemies. + for (var i = 0; i < 16; i++) + { + createBaddie(); + } + + // Tap to create new baddie sprites. + game.input.onTap.add(createBaddie, this); + +} + +function createBaddie() { + + var baddie; + + // Of course, the baddies created will belong to their respective groups + if (Math.random() > 0.5) + { + baddie = purpleBaddies.create(360 + Math.random() * 200, 120 + Math.random() * 200, 'purple-baddie'); + } + else + { + baddie = normalBaddies.create(360 + Math.random() * 200, 120 + Math.random() * 200, 'baddie'); + } + +} + +function render() { + + game.debug.renderStyle = '#fff'; + game.debug.renderText('Tap screen or click to create new baddies.', 16, 24); + game.debug.renderText('enemies: ' + enemies.length + ' (actually ' + enemies.length + ' groups)', 16, 48); + game.debug.renderText('normal baddies: ' + normalBaddies.length, 16, 60); + game.debug.renderText('purple baddies: ' + purpleBaddies.length, 16, 72); + game.debug.renderText('friends: ' + friendAndFoe.length, 16, 96); + +} diff --git a/examples/groups/sub groups - group length.php b/examples/groups/sub groups - group length.php deleted file mode 100644 index 717d7018..00000000 --- a/examples/groups/sub groups - group length.php +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - diff --git a/examples/groups/swap children in a group.js b/examples/groups/swap children in a group.js new file mode 100644 index 00000000..115c359e --- /dev/null +++ b/examples/groups/swap children in a group.js @@ -0,0 +1,35 @@ + +var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, render: render }); + +function preload() { + + game.load.image('atari1', 'assets/sprites/atari130xe.png'); + game.load.image('atari2', 'assets/sprites/atari800xl.png'); + +} + +var atari1; +var atari2; + +function create() { + + // Items are rendered in the depth order in which they are added to the Group + atari1 = game.add.sprite(100, 100, 'atari1'); + atari2 = game.add.sprite(250, 90, 'atari2'); + + game.input.onTap.add(swapSprites, this); + +} + +function swapSprites() { + + //The 2 Sprites are in the global world Group (World class extends the Group class), but this will work for any Group: + game.world.swap(atari1, atari2); + +} + +function render () { + + game.debug.renderText('Tap screen to swap the children and therefore swap their indexes.', 10, 280); + +} diff --git a/examples/groups/swap children in a group.php b/examples/groups/swap children in a group.php deleted file mode 100644 index e2ce0adf..00000000 --- a/examples/groups/swap children in a group.php +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - diff --git a/examples/head.php b/examples/head.php deleted file mode 100644 index b401c577..00000000 --- a/examples/head.php +++ /dev/null @@ -1,21 +0,0 @@ - - - - - phaser - <?php echo $title?> - - '; - } - - if (isset($css)) - { - echo " "; - } - ?> - - diff --git a/examples/head_live.php b/examples/head_live.php deleted file mode 100644 index 86b20af8..00000000 --- a/examples/head_live.php +++ /dev/null @@ -1,8 +0,0 @@ - - - - - phaser - <?php echo $title?> - - - diff --git a/examples/html/img/screenshot.jpg b/examples/html/img/screenshot.jpg deleted file mode 100644 index da010c1d4a57607d0e6bd618ac01ba9ca4962dc6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64484 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 $value) - { - if (is_dir($dir . DIRECTORY_SEPARATOR . $value)) - { - $result[$value] = dirToArray($dir . DIRECTORY_SEPARATOR . $value); - } - else - { - if (substr($value, -4) == '.php') - { - $result[] = $value; - } - } - } - - return $result; - } - - function printJSLinks($dir, $files) { - - foreach ($files as $key => $value) - { - $value2 = substr($value, 0, -4); - echo "

  • $value2
  • \n"; - } - - } - - $files = dirToArray(dirname(__FILE__)); - $total = 0; - - foreach ($files as $key => $value) - { - if (is_array($value) && count($value) > 0) - { - $total += count($value); - } - } + require('funcs.php'); ?> - - + +
    - Phaser Version: 1.0.6 - Update to 1.1 + Phaser Version: 1.1 +
    @@ -113,7 +69,7 @@
      -
      -
      +
      + - -
      -