mirror of
https://github.com/ysoftdevs/pf2016.git
synced 2026-03-21 08:39:44 +01:00
reafactor teleport pair into one function
This commit is contained in:
64
data/levels/level-09.json
Normal file
64
data/levels/level-09.json
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
{ "height":6,
|
||||||
|
"layers":[
|
||||||
|
{
|
||||||
|
"data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 0, 2, 2, 11, 0, 0, 0, 0, 0, 0, 0, 2, 2, 12, 2, 2, 2, 2, 0, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 2, 12, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
"height":6,
|
||||||
|
"name":"ground",
|
||||||
|
"opacity":1,
|
||||||
|
"type":"tilelayer",
|
||||||
|
"visible":true,
|
||||||
|
"width":18,
|
||||||
|
"x":0,
|
||||||
|
"y":0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"data":[22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 0, 0, 0, 52, 0, 0, 0, 52, 0, 0, 0, 52, 0, 0, 0, 32, 0, 0, 0, 0, 0, 52, 0, 0, 0, 52, 0, 0, 0, 52, 0, 0, 0, 32, 0, 0, 0, 0, 0, 52, 0, 0, 0, 52, 0, 0, 0, 52, 0, 0, 0, 32, 0, 0, 0, 0, 0, 52, 0, 0, 0, 52, 0, 0, 0, 52, 0, 0, 0, 32, 0, 0, 0, 0, 0, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 32, 0, 0, 0, 0, 0],
|
||||||
|
"height":6,
|
||||||
|
"name":"walls",
|
||||||
|
"opacity":1,
|
||||||
|
"type":"tilelayer",
|
||||||
|
"visible":true,
|
||||||
|
"width":18,
|
||||||
|
"x":0,
|
||||||
|
"y":0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
"height":6,
|
||||||
|
"name":"sky",
|
||||||
|
"opacity":1,
|
||||||
|
"type":"tilelayer",
|
||||||
|
"visible":true,
|
||||||
|
"width":18,
|
||||||
|
"x":0,
|
||||||
|
"y":0
|
||||||
|
}],
|
||||||
|
"nextobjectid":4,
|
||||||
|
"orientation":"orthogonal",
|
||||||
|
"properties":
|
||||||
|
{
|
||||||
|
|
||||||
|
},
|
||||||
|
"renderorder":"right-down",
|
||||||
|
"tileheight":64,
|
||||||
|
"tilesets":[
|
||||||
|
{
|
||||||
|
"firstgid":1,
|
||||||
|
"image":"..\/images\/gfx64\/tiles.png",
|
||||||
|
"imageheight":448,
|
||||||
|
"imagewidth":640,
|
||||||
|
"margin":0,
|
||||||
|
"name":"base",
|
||||||
|
"properties":
|
||||||
|
{
|
||||||
|
|
||||||
|
},
|
||||||
|
"spacing":0,
|
||||||
|
"tilecount":70,
|
||||||
|
"tileheight":64,
|
||||||
|
"tilewidth":64
|
||||||
|
}],
|
||||||
|
"tilewidth":64,
|
||||||
|
"version":1,
|
||||||
|
"width":18
|
||||||
|
}
|
||||||
@@ -17,12 +17,13 @@
|
|||||||
<script src="js/app/level-06.js"></script>
|
<script src="js/app/level-06.js"></script>
|
||||||
<script src="js/app/level-07.js"></script>
|
<script src="js/app/level-07.js"></script>
|
||||||
<script src="js/app/level-08.js"></script>
|
<script src="js/app/level-08.js"></script>
|
||||||
|
<script src="js/app/level-09.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
var state = new Kiwi.State('state');
|
var state = new Kiwi.State('state');
|
||||||
var levels = [level1, level2, level3, level4, level5, level6, level7, level8];
|
var levels = [level1, level2, level3, level4, level5, level6, level7, level8, level9];
|
||||||
|
|
||||||
state.preload = function() {
|
state.preload = function() {
|
||||||
this.addJSON('level1', 'data/levels/level-01.json');
|
this.addJSON('level1', 'data/levels/level-01.json');
|
||||||
@@ -33,6 +34,7 @@ state.preload = function() {
|
|||||||
this.addJSON('level6', 'data/levels/level-06.json');
|
this.addJSON('level6', 'data/levels/level-06.json');
|
||||||
this.addJSON('level7', 'data/levels/level-07.json');
|
this.addJSON('level7', 'data/levels/level-07.json');
|
||||||
this.addJSON('level8', 'data/levels/level-08.json');
|
this.addJSON('level8', 'data/levels/level-08.json');
|
||||||
|
this.addJSON('level9', 'data/levels/level-09.json');
|
||||||
this.addSpriteSheet('base', './data/images/gfx64/tiles.png', 64, 64);
|
this.addSpriteSheet('base', './data/images/gfx64/tiles.png', 64, 64);
|
||||||
this.addSpriteSheet('character', './data/images/gfx64/marble_black.png', 80, 80 );
|
this.addSpriteSheet('character', './data/images/gfx64/marble_black.png', 80, 80 );
|
||||||
this.addSpriteSheet('oneWay', './data/images/gfx64/st_oneway.png', 64, 64 );
|
this.addSpriteSheet('oneWay', './data/images/gfx64/st_oneway.png', 64, 64 );
|
||||||
|
|||||||
@@ -4,23 +4,8 @@ level4.create = function(context) {
|
|||||||
context.finishMarker.x = 8*64;
|
context.finishMarker.x = 8*64;
|
||||||
context.finishMarker.y = 2*64;
|
context.finishMarker.y = 2*64;
|
||||||
|
|
||||||
// Add teleport
|
// Add teleports
|
||||||
var teleport = new Kiwi.GameObjects.Sprite(context, context.textures.teleport, 4*64, 3*64);
|
addTeleportPair(context, 4, 3, 8, 3);
|
||||||
teleport.animation.add('idle', [ 0, 1, 2, 3 ], 0.3, true);
|
|
||||||
teleport.animation.play('idle', true);
|
|
||||||
teleport.type = 'teleport';
|
|
||||||
teleport.affectedX = 8*64;
|
|
||||||
teleport.affectedY = 3*64;
|
|
||||||
context.redirectorGroup.addChild(teleport);
|
|
||||||
|
|
||||||
// Add target teleport marker
|
|
||||||
var teleportTarget = new Kiwi.GameObjects.Sprite(context, context.textures.teleport, 8*64, 3*64);
|
|
||||||
teleportTarget.animation.add('idle', [ 3, 2, 1, 0 ], 0.3, true);
|
|
||||||
teleportTarget.animation.play('idle', true);
|
|
||||||
teleportTarget.type = 'teleport';
|
|
||||||
teleportTarget.affectedX = 4*64;
|
|
||||||
teleportTarget.affectedY = 3*64;
|
|
||||||
context.redirectorGroup.addChild(teleportTarget);
|
|
||||||
|
|
||||||
// Create redirector objects
|
// Create redirector objects
|
||||||
addRedirector(context, 9, 1, -1, 0, 9);
|
addRedirector(context, 9, 1, -1, 0, 9);
|
||||||
|
|||||||
@@ -4,23 +4,8 @@ level5.create = function(context) {
|
|||||||
context.finishMarker.x = 8*64;
|
context.finishMarker.x = 8*64;
|
||||||
context.finishMarker.y = 2*64;
|
context.finishMarker.y = 2*64;
|
||||||
|
|
||||||
// Add teleport
|
// Add teleports
|
||||||
var teleport = new Kiwi.GameObjects.Sprite(context, context.textures.teleport, 4*64, 2*64);
|
addTeleportPair(context, 4, 2, 9, 2);
|
||||||
teleport.animation.add('idle', [ 0, 1, 2, 3 ], 0.3, true);
|
|
||||||
teleport.animation.play('idle', true);
|
|
||||||
teleport.type = 'teleport';
|
|
||||||
teleport.affectedX = 9*64;
|
|
||||||
teleport.affectedY = 2*64;
|
|
||||||
context.redirectorGroup.addChild(teleport);
|
|
||||||
|
|
||||||
// Add target teleport marker
|
|
||||||
var teleportTarget = new Kiwi.GameObjects.Sprite(context, context.textures.teleport, 9*64, 2*64);
|
|
||||||
teleportTarget.animation.add('idle', [ 3, 2, 1, 0 ], 0.3, true);
|
|
||||||
teleportTarget.animation.play('idle', true);
|
|
||||||
teleportTarget.type = 'teleport';
|
|
||||||
teleportTarget.affectedX = 4*64;
|
|
||||||
teleportTarget.affectedY = 2*64;
|
|
||||||
context.redirectorGroup.addChild(teleportTarget);
|
|
||||||
|
|
||||||
// Create redirector objects
|
// Create redirector objects
|
||||||
addRedirector(context, 9, 1, -1, 0, 9);
|
addRedirector(context, 9, 1, -1, 0, 9);
|
||||||
|
|||||||
@@ -10,23 +10,8 @@ level6.create = function(context) {
|
|||||||
context.finishMarker.x = 9*64;
|
context.finishMarker.x = 9*64;
|
||||||
context.finishMarker.y = 4*64;
|
context.finishMarker.y = 4*64;
|
||||||
|
|
||||||
// Add teleport
|
// Add teleports
|
||||||
var teleport = new Kiwi.GameObjects.Sprite(context, context.textures.teleport, 3*64, 3*64);
|
addTeleportPair(context, 3, 3, 10, 1)
|
||||||
teleport.animation.add('idle', [ 0, 1, 2, 3 ], 0.3, true);
|
|
||||||
teleport.animation.play('idle', true);
|
|
||||||
teleport.type = 'teleport';
|
|
||||||
teleport.affectedX = 10*64;
|
|
||||||
teleport.affectedY = 1*64;
|
|
||||||
context.redirectorGroup.addChild(teleport);
|
|
||||||
|
|
||||||
// Add target teleport marker
|
|
||||||
var teleportTarget = new Kiwi.GameObjects.Sprite(context, context.textures.teleport, 10*64, 1*64);
|
|
||||||
teleportTarget.animation.add('idle', [ 3, 2, 1, 0 ], 0.3, true);
|
|
||||||
teleportTarget.animation.play('idle', true);
|
|
||||||
teleportTarget.type = 'teleport';
|
|
||||||
teleportTarget.affectedX = 3*64;
|
|
||||||
teleportTarget.affectedY = 3*64;
|
|
||||||
context.redirectorGroup.addChild(teleportTarget);
|
|
||||||
|
|
||||||
// Create redirector objects
|
// Create redirector objects
|
||||||
addRedirector(context, 3, 1, -1, 0, 9);
|
addRedirector(context, 3, 1, -1, 0, 9);
|
||||||
|
|||||||
@@ -10,23 +10,8 @@ level7.create = function(context) {
|
|||||||
context.finishMarker.x = 9*64;
|
context.finishMarker.x = 9*64;
|
||||||
context.finishMarker.y = 4*64;
|
context.finishMarker.y = 4*64;
|
||||||
|
|
||||||
// Add teleport
|
// Add teleports
|
||||||
var teleport = new Kiwi.GameObjects.Sprite(context, context.textures.teleport, 3*64, 3*64);
|
addTeleportPair(context, 3, 3, 10, 1);
|
||||||
teleport.animation.add('idle', [ 0, 1, 2, 3 ], 0.3, true);
|
|
||||||
teleport.animation.play('idle', true);
|
|
||||||
teleport.type = 'teleport';
|
|
||||||
teleport.affectedX = 10*64;
|
|
||||||
teleport.affectedY = 1*64;
|
|
||||||
context.redirectorGroup.addChild(teleport);
|
|
||||||
|
|
||||||
// Add target teleport marker
|
|
||||||
var teleportTarget = new Kiwi.GameObjects.Sprite(context, context.textures.teleport, 10*64, 1*64);
|
|
||||||
teleportTarget.animation.add('idle', [ 3, 2, 1, 0 ], 0.3, true);
|
|
||||||
teleportTarget.animation.play('idle', true);
|
|
||||||
teleportTarget.type = 'teleport';
|
|
||||||
teleportTarget.affectedX = 3*64;
|
|
||||||
teleportTarget.affectedY = 3*64;
|
|
||||||
context.redirectorGroup.addChild(teleportTarget);
|
|
||||||
|
|
||||||
// Create redirector objects
|
// Create redirector objects
|
||||||
addRedirector(context, 3, 1, -1, 0, 9);
|
addRedirector(context, 3, 1, -1, 0, 9);
|
||||||
|
|||||||
33
js/app/level-09.js
Normal file
33
js/app/level-09.js
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
var level9 = {};
|
||||||
|
level9.create = function(context) {
|
||||||
|
// Define start coordinates
|
||||||
|
context.character.initialX = 11*64;
|
||||||
|
context.character.initialY = 4*64;
|
||||||
|
context.character.initialVelocityX = 64;
|
||||||
|
context.character.initialVelocityY = 0;
|
||||||
|
|
||||||
|
// Define finish coordinates
|
||||||
|
context.finishMarker.x = 9*64;
|
||||||
|
context.finishMarker.y = 4*64;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Create redirector objects
|
||||||
|
|
||||||
|
// // Right
|
||||||
|
// addRedirector(context, 11, 3, 1, 0, 0);
|
||||||
|
// addRedirector(context, 11, 2, 1, 0, 0);
|
||||||
|
// addRedirector(context, 11, 1, 1, 0, 0);
|
||||||
|
// addRedirector(context, 9, 3, 1, 0, 0);
|
||||||
|
|
||||||
|
// // Down
|
||||||
|
// addRedirector(context, 10, 3, 0, 1, 6);
|
||||||
|
// addRedirector(context, 10, 1, 0, 1, 6);
|
||||||
|
// addRedirector(context, 9, 1, 0, 1, 6);
|
||||||
|
|
||||||
|
// // Up
|
||||||
|
// addRedirector(context, 10, 2, 0, -1, 3);
|
||||||
|
// addRedirector(context, 9, 2, 0, -1, 3);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -13,3 +13,28 @@ function addRedirector(context, x, y, vectorX, vectorY, imageIndex) {
|
|||||||
|
|
||||||
context.redirectorGroup.addChild(redirector);
|
context.redirectorGroup.addChild(redirector);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Register new teleport
|
||||||
|
*/
|
||||||
|
function addTeleport(context, x, y, affectedX, affectedY, isForwardAnimation) {
|
||||||
|
var teleport = new Kiwi.GameObjects.Sprite(context, context.textures.teleport, x*64, y*64);
|
||||||
|
if (isForwardAnimation) {
|
||||||
|
teleport.animation.add('idle', [ 0, 1, 2, 3 ], 0.3, true);
|
||||||
|
} else {
|
||||||
|
teleport.animation.add('idle', [ 3, 2, 1, 0 ], 0.3, true);
|
||||||
|
}
|
||||||
|
teleport.animation.play('idle', true);
|
||||||
|
teleport.type = 'teleport';
|
||||||
|
teleport.affectedX = affectedX*64;
|
||||||
|
teleport.affectedY = affectedY*64;
|
||||||
|
context.redirectorGroup.addChild(teleport);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add pair of binded teleports
|
||||||
|
*/
|
||||||
|
function addTeleportPair(context, x, y, x2, y2) {
|
||||||
|
addTeleport(context, x, y, x2, y2, true);
|
||||||
|
addTeleport(context, x2, y2, x, y, false);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user