Jendrik Posted September 24, 2015 Share Posted September 24, 2015 Hi all!I´m trying to get an enemy who flees from the player. But I have no idea how to get him jump.The following code makes that he ran and stop on an hindernis. But he don´t want to jump... Any ideas?window.wolf.state.play = { preload: function(){ console.log("loading play state"); }, create: function(){ console.log("starting play state"); this.bg = mt.create("bg"); this.unten = mt.create("unten"); this.wolf = mt.create("wolf"); this.schaaf = mt.create("schaaf"); this.hindernis = mt.create("hindernis"); //this.points = mt.create("points"); this.cursors = this.game.input.keyboard.createCursorKeys(); this.game.camera.follow(this.wolf); }, update: function(){ this.game.physics.arcade.collide(this.wolf, this.unten); this.game.physics.arcade.collide(this.wolf, this.hindernis); this.game.physics.arcade.collide(this.schaaf, this.unten); this.game.physics.arcade.collide(this.schaaf, this.hindernis); if (this.cursors.left.isDown) { this.wolf.body.velocity.x = -200; } else if (this.cursors.right.isDown) { this.wolf.body.velocity.x = 200; } else { this.wolf.body.velocity.x = 0; } if (this.cursors.up.isDown) { this.wolf.body.velocity.y = -300; } if(this.game.physics.arcade.distanceBetween(this.schaaf, this.hindernis) < 50){ console.log("hüpf!"); this.schaafJump(); this.schaaf.body.velocity.x = 180; }else{ this.schaaf.body.velocity.x = 180; } }, schaafJump: function(){ this.schaaf.body.velocity.x = 0; this.schaaf.body.velocity.y = -100; }}; Link to comment Share on other sites More sharing options...
Cudabear Posted September 24, 2015 Share Posted September 24, 2015 The easiest way is to check for a collision with the hindernis object and then call the jump method. You can change:this.game.physics.arcade.collide(this.schaaf, this.hindernis);to:this.game.physics.arcade.collide(this.schaaf, this.hindernis, function(schaaf, hindernis){ schaaf.body.velocity.x = 0; schaaf.body.velocity.y = -100;});This should work. Link to comment Share on other sites More sharing options...
Jendrik Posted September 24, 2015 Author Share Posted September 24, 2015 indeed, it works. Thank you! It looks a little bit silly but for now it´s enough Link to comment Share on other sites More sharing options...
Recommended Posts