I want my player to be able to walk in and out of buildings so I'm making the inside of every building a new level. However, when I come back outside of a building, it spawns me at the origin point of the "outside" level which is where the player starts the game.
How do I make the game use the new spawn point when exiting a building instead of using the original spawn point for the beginning of the game?
1 decade ago
by Joncom
Let's see the code you have so far for warping the player around.
This is how I load the level in my main.js. this is where the character starts the game.
MyGame = ig.Game.extend({
init: function() {
this.loadLevel( LevelLevel_1_2 );
I have a void and a trigger that connect to this levelchange.js script
ig.module(
'game.entities.levelchange'
)
.requires(
'impact.entity'
)
.defines(function(){
EntityLevelchange = ig.Entity.extend({
_wmDrawBox: true,
_wmBoxColor: 'rgba(0, 0, 255, 0.7)',
_wmScalable: true,
size: {x: 8, y: 8},
level: null,
spawn : null, // NAME OF THE VOID FOR THE POS
triggeredBy: function( entity, trigger ) {
if(this.level) {
var levelName = this.level.replace(/^(Level)?(\w)(\w*)/, function( m, l, a, b ) {
return a.toUpperCase() + b;
});
ig.game.player = ig.game.getEntitiesByType( EntityPlayer )[0];
var health = ig.game.player.health;
ig.game.loadLevel( ig.global['Level'+levelName] );
if(this.spawn){
var spawnpoint = ig.game.getEntityByName(this.spawn);
if(spawnpoint)
{
ig.game.spawnEntity(EntityPlayer, spawnpoint.pos.x, spawnpoint.pos.y);
var nrPlayers =ig.game.getEntitiesByType( EntityPlayer ).length;
ig.game.player = ig.game.getEntitiesByType( EntityPlayer )[0];
/*nrPlayers > 1 ? ig.game.getEntitiesByType(EntityPlayer)[0].kill(): null;*/
console.assert(ig.game.getEntitiesByType(EntityPlayer).length==1);
ig.game.player.health = health;
}
}
}
},
update: function(){}
});
});
Page 1 of 1
« first
« previous
next ›
last »