Lots of Tilemap updates, moved the renderer out, added components and new tests.

This commit is contained in:
Richard Davey
2013-07-02 23:41:25 +01:00
parent c647792c12
commit c81cf0c882
34 changed files with 2395 additions and 1563 deletions
+16
View File
@@ -217,6 +217,22 @@
<Content Include="sprites\origin 5.js">
<DependentUpon>origin 5.ts</DependentUpon>
</Content>
<TypeScriptCompile Include="tilemaps\csv tilemap.ts" />
<Content Include="tilemaps\csv tilemap.js">
<DependentUpon>csv tilemap.ts</DependentUpon>
</Content>
<TypeScriptCompile Include="tilemaps\tiled tilemap.ts" />
<TypeScriptCompile Include="tilemaps\tiled layers.ts" />
<TypeScriptCompile Include="tilemaps\map draw.ts" />
<Content Include="tilemaps\map draw.js">
<DependentUpon>map draw.ts</DependentUpon>
</Content>
<Content Include="tilemaps\tiled layers.js">
<DependentUpon>tiled layers.ts</DependentUpon>
</Content>
<Content Include="tilemaps\tiled tilemap.js">
<DependentUpon>tiled tilemap.ts</DependentUpon>
</Content>
<Content Include="tweens\tween loop 1.js">
<DependentUpon>tween loop 1.ts</DependentUpon>
</Content>
+563 -497
View File
File diff suppressed because it is too large Load Diff
+14 -1
View File
@@ -1,6 +1,8 @@
/// <reference path="../../Phaser/Game.ts" />
(function () {
var game = new Phaser.Game(this, 'game', 800, 600, init, create, null, render);
function init() {
// Using Phasers asset loader we load up a PNG from the assets folder
game.load.image('atari', 'assets/sprites/atari130xe.png');
game.load.image('ball', 'assets/sprites/shinyball.png');
game.load.start();
@@ -8,10 +10,21 @@
var atari;
var ball;
function create() {
// Add some gravity to the world, otherwise nothing will actually happen
game.physics.gravity.setTo(0, 5);
// We'll make the atari sprite a static body, so it won't be influenced by gravity or other forces
atari = game.add.physicsSprite(300, 450, 'atari', null, Phaser.Types.BODY_STATIC);
//atari.rotation = 10;
//atari.body.transform.setRotation(1);
atari.body.angle = 1;
// atari = 220px width (110 = center x)
// ball = 32px width (16 = center x)
// Ball will be a dynamic body and fall based on gravity
ball = game.add.physicsSprite(300 - 20, 0, 'ball');
}
ball.body.angle = 1;
//ball.body.transform.setRotation(1);
//ball.body.fixedRotation = true;
}
function render() {
Phaser.DebugUtils.renderPhysicsBodyInfo(atari.body, 32, 32);
Phaser.DebugUtils.renderPhysicsBodyInfo(ball.body, 320, 32);
+6
View File
@@ -23,12 +23,18 @@
// We'll make the atari sprite a static body, so it won't be influenced by gravity or other forces
atari = game.add.physicsSprite(300, 450, 'atari', null, Phaser.Types.BODY_STATIC);
//atari.rotation = 10;
//atari.body.transform.setRotation(1);
atari.body.angle = 1;
// atari = 220px width (110 = center x)
// ball = 32px width (16 = center x)
// Ball will be a dynamic body and fall based on gravity
ball = game.add.physicsSprite(300-20, 0, 'ball');
ball.body.angle = 1;
//ball.body.transform.setRotation(1);
//ball.body.fixedRotation = true;
}
+32
View File
@@ -0,0 +1,32 @@
/// <reference path="../../Phaser/gameobjects/Tilemap.ts" />
/// <reference path="../../Phaser/Game.ts" />
(function () {
var game = new Phaser.Game(this, 'game', 800, 600, init, create, update);
function init() {
// CSV Tilemap Test
// First we load our map data (a csv file)
game.load.text('csvtest', 'assets/maps/catastrophi_level2.csv');
// Then we load the actual tile sheet image
game.load.image('csvtiles', 'assets/tiles/catastrophi_tiles_16.png');
game.load.start();
}
function create() {
// This creates the tilemap using the csv and tile sheet we loaded.
// We tell it use to CSV format parser. The 16x16 are the tile sizes.
// The 4th parameter (true) tells the game world to resize itself based on the map dimensions or not.
game.add.tilemap('csvtiles', 'csvtest', Phaser.Tilemap.FORMAT_CSV, true, 16, 16);
}
function update() {
// Simple camera controls
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;
}
}
})();
+54
View File
@@ -0,0 +1,54 @@
/// <reference path="../../Phaser/gameobjects/Tilemap.ts" />
/// <reference path="../../Phaser/Game.ts" />
(function () {
var game = new Phaser.Game(this, 'game', 800, 600, init, create, update);
function init() {
// CSV Tilemap Test
// First we load our map data (a csv file)
game.load.text('csvtest', 'assets/maps/catastrophi_level2.csv');
// Then we load the actual tile sheet image
game.load.image('csvtiles', 'assets/tiles/catastrophi_tiles_16.png');
game.load.start();
}
function create() {
// This creates the tilemap using the csv and tile sheet we loaded.
// We tell it use to CSV format parser. The 16x16 are the tile sizes.
// The 4th parameter (true) tells the game world to resize itself based on the map dimensions or not.
game.add.tilemap('csvtiles', 'csvtest', Phaser.Tilemap.FORMAT_CSV, true, 16, 16);
}
function update() {
// Simple camera controls
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;
}
}
})();
+41
View File
@@ -0,0 +1,41 @@
/// <reference path="../../Phaser/gameobjects/Tilemap.ts" />
/// <reference path="../../Phaser/Game.ts" />
(function () {
var game = new Phaser.Game(this, 'game', 800, 600, init, create, update);
function init() {
game.load.text('platform', 'assets/maps/mapdraw.json');
game.load.image('tiles', 'assets/tiles/platformer_tiles.png');
game.load.image('carrot', 'assets/sprites/carrot.png');
game.load.start();
}
var map;
var emitter;
var marker;
function create() {
map = game.add.tilemap('tiles', 'platform', Phaser.Tilemap.FORMAT_TILED_JSON);
map.setCollisionRange(21, 53);
map.setCollisionRange(105, 109);
game.camera.texture.opaque = true;
game.camera.texture.backgroundColor = 'rgb(47,154,204)';
marker = game.add.sprite(0, 0);
marker.texture.width = 16;
marker.texture.height = 16;
marker.texture.opaque = true;
marker.texture.backgroundColor = 'rgba(255,0,0,0.4)';
//emitter = game.add.emitter(32, 80);
//emitter.width = 700;
//emitter.makeParticles('carrot', 100, false, 1);
//emitter.gravity = 150;
//emitter.bounce = 0.8;
//emitter.start(false, 20, 0.05);
}
function update() {
// Collide everything with the map
//map.collide();
marker.x = game.math.snapToFloor(game.input.getWorldX(), 16);
marker.y = game.math.snapToFloor(game.input.getWorldY(), 16);
if(game.input.mousePointer.isDown) {
map.putTile(marker.x, marker.y, 32);
}
}
})();
+60
View File
@@ -0,0 +1,60 @@
/// <reference path="../../Phaser/gameobjects/Tilemap.ts" />
/// <reference path="../../Phaser/Game.ts" />
(function () {
var game = new Phaser.Game(this, 'game', 800, 600, init, create, update);
function init() {
game.load.text('platform', 'assets/maps/mapdraw.json');
game.load.image('tiles', 'assets/tiles/platformer_tiles.png');
game.load.image('carrot', 'assets/sprites/carrot.png');
game.load.start();
}
var map: Phaser.Tilemap;
var emitter: Phaser.Emitter;
var marker: Phaser.Sprite;
function create() {
map = game.add.tilemap('tiles', 'platform', Phaser.Tilemap.FORMAT_TILED_JSON);
map.setCollisionRange(21,53);
map.setCollisionRange(105,109);
game.camera.texture.opaque = true;
game.camera.texture.backgroundColor = 'rgb(47,154,204)';
marker = game.add.sprite(0, 0);
marker.texture.width = 16;
marker.texture.height = 16;
marker.texture.opaque = true;
marker.texture.backgroundColor = 'rgba(255,0,0,0.4)';
//emitter = game.add.emitter(32, 80);
//emitter.width = 700;
//emitter.makeParticles('carrot', 100, false, 1);
//emitter.gravity = 150;
//emitter.bounce = 0.8;
//emitter.start(false, 20, 0.05);
}
function update() {
// Collide everything with the map
//map.collide();
marker.x = game.math.snapToFloor(game.input.getWorldX(), 16);
marker.y = game.math.snapToFloor(game.input.getWorldY(), 16);
if (game.input.mousePointer.isDown)
{
map.putTile(marker.x, marker.y, 32);
}
}
})();
+34
View File
@@ -0,0 +1,34 @@
/// <reference path="../../Phaser/gameobjects/Tilemap.ts" />
/// <reference path="../../Phaser/Game.ts" />
(function () {
var game = new Phaser.Game(this, 'game', 800, 600, init, create, update);
function init() {
// Tiled Tilemap Test
// First we load our map data (a json file exported from the map editor Tiled)
// This data file has several layers within it. Phaser will render them all.
game.load.text('jsontest', 'assets/maps/multi-layer-test.json');
// Then we load the actual tile sheet image
game.load.image('jsontiles', 'assets/tiles/platformer_tiles.png');
game.load.start();
}
var map;
function create() {
// This creates the tilemap using the json data and tile sheet we loaded.
// We tell it to use the Tiled JSON format parser.
map = game.add.tilemap('jsontiles', 'jsontest', Phaser.Tilemap.FORMAT_TILED_JSON);
//map.currentLayer.
}
function update() {
// Simple camera controls
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;
}
}
})();
+58
View File
@@ -0,0 +1,58 @@
/// <reference path="../../Phaser/gameobjects/Tilemap.ts" />
/// <reference path="../../Phaser/Game.ts" />
(function () {
var game = new Phaser.Game(this, 'game', 800, 600, init, create, update);
function init() {
// Tiled Tilemap Test
// First we load our map data (a json file exported from the map editor Tiled)
// This data file has several layers within it. Phaser will render them all.
game.load.text('jsontest', 'assets/maps/multi-layer-test.json');
// Then we load the actual tile sheet image
game.load.image('jsontiles', 'assets/tiles/platformer_tiles.png');
game.load.start();
}
var map: Phaser.Tilemap;
function create() {
// This creates the tilemap using the json data and tile sheet we loaded.
// We tell it to use the Tiled JSON format parser.
map = game.add.tilemap('jsontiles', 'jsontest', Phaser.Tilemap.FORMAT_TILED_JSON);
//map.currentLayer.
}
function update() {
// Simple camera controls
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;
}
}
})();
+32
View File
@@ -0,0 +1,32 @@
/// <reference path="../../Phaser/gameobjects/Tilemap.ts" />
/// <reference path="../../Phaser/Game.ts" />
(function () {
var game = new Phaser.Game(this, 'game', 800, 600, init, create, update);
function init() {
// Tiled Tilemap Test
// First we load our map data (a json file exported from the map editor Tiled)
game.load.text('jsontest', 'assets/maps/test.json');
//myGame.loader.addTextFile('jsontest', 'assets/maps/multi-layer-test.json');
// Then we load the actual tile sheet image
game.load.image('jsontiles', 'assets/tiles/platformer_tiles.png');
game.load.start();
}
function create() {
// This creates the tilemap using the json data and tile sheet we loaded.
// We tell it to use the Tiled JSON format parser.
game.add.tilemap('jsontiles', 'jsontest', Phaser.Tilemap.FORMAT_TILED_JSON);
}
function update() {
// Simple camera controls
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;
}
}
})();
+54
View File
@@ -0,0 +1,54 @@
/// <reference path="../../Phaser/gameobjects/Tilemap.ts" />
/// <reference path="../../Phaser/Game.ts" />
(function () {
var game = new Phaser.Game(this, 'game', 800, 600, init, create, update);
function init() {
// Tiled Tilemap Test
// First we load our map data (a json file exported from the map editor Tiled)
game.load.text('jsontest', 'assets/maps/test.json');
//myGame.loader.addTextFile('jsontest', 'assets/maps/multi-layer-test.json');
// Then we load the actual tile sheet image
game.load.image('jsontiles', 'assets/tiles/platformer_tiles.png');
game.load.start();
}
function create() {
// This creates the tilemap using the json data and tile sheet we loaded.
// We tell it to use the Tiled JSON format parser.
game.add.tilemap('jsontiles', 'jsontest', Phaser.Tilemap.FORMAT_TILED_JSON);
}
function update() {
// Simple camera controls
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;
}
}
})();