OakTreePeter Posted April 24, 2017 Share Posted April 24, 2017 Hey guys I'm making a platformer and I've managed to get my character running and jumping at the same time... to one side only - the right! I have NO ideia why running and jumping to the left is proving impossible but I'm hoping you can help me out. runKey = game.input.keyboard.addKey(Phaser.Keyboard.SPACEBAR); // The running key, in the create method // Fast forward to my update method (...) // Horizontal movement player.body.velocity.x = 0; // Resets our character's horizontal movement. if (cursors.left.isDown) // If the 'left' key on our keyboard is pressed ... { player.scale.x = -1; // ... we horizontally flip our character to face the left ... player.body.velocity.x = -200; // ... we move him to the left ... player.animations.play('walk'); // ... play the 'walk' animation ... player_walk.play('', 0, 1, false, false); // ... and finally play the 'player_walk' sound effect. if (runKey.isDown) // If the 'run' key on our keyboard is being pressed while we are walking to the left... { player.body.velocity.x = -350; // ... we allow our character run to the left. } } else if (cursors.right.isDown) // If the 'right' key on our keyboard is pressed ... { player.scale.x = 1; // ... we horizontally flip our character to face the right ... player.body.velocity.x = 200; // ... we move our character to the right ... player.animations.play('walk'); // ... play the 'walk' animation ... player_walk.play('', 0, 1, false, false); // ... and finally play the 'player_walk' sound effect. if (runKey.isDown) // If the 'run' key on our keyboard is being pressed while we are walking to the right... { player.body.velocity.x = 350; // ... we allow our character run to the right. } } else // If no key on our keyboard is pressed ... { player.animations.play('idle'); // ... play the 'idle' animation ... } // Vertical movement if (cursors.up.isDown && (player.body.blocked.down || player.body.touching.down)) // If the 'up' key on our keyboard is pressed and our character is touching a surface ... { if (runKey.isDown && player.body.velocity.x < 0) { player.body.velocity.x = -350; player.body.velocity.y = -700; player_jump.play('', 0, 1, false, false); jumpCounter = 1; } else if (runKey.isDown && player.body.velocity.x > 0) { player.body.velocity.x = 350; player.body.velocity.y = -700; player_jump.play('', 0, 1, false, false); jumpCounter = 1; } player.body.velocity.y = -700; player_jump.play('', 0, 1, false, false); jumpCounter = 1; } else if (player.body.velocity.y < 0) { if (runKey.isDown && player.body.velocity.x < 0) { player.body.velocity.x = -350; player.animations.play('jump'); player_walk.pause(); } else if (runKey.isDown && player.body.velocity.x > 0) { player.body.velocity.x = 350; player.animations.play('jump'); player_walk.pause(); } player.animations.play('jump'); player_walk.pause(); } else if (player.body.velocity.y >= 0 && !(player.body.blocked.down || player.body.touching.down)) { if (runKey.isDown && player.body.velocity.x < 0) { player.body.velocity.x = -350; player.animations.play('fall'); player_walk.pause(); } else if (runKey.isDown && player.body.velocity.x > 0) { player.body.velocity.x = 350; player.animations.play('fall'); player_walk.pause(); } player.animations.play('fall'); player_walk.pause(); } else { jumpCounter = 0; } I really don't understand what's wrong Thanks in advance! Link to comment Share on other sites More sharing options...
OakTreePeter Posted April 25, 2017 Author Share Posted April 25, 2017 up Link to comment Share on other sites More sharing options...
OakTreePeter Posted April 25, 2017 Author Share Posted April 25, 2017 Solved. SPACEBAR doesn't seem to work while being pressed at the same time as the left key. Used SHIFT and the above code worked perfectly normal. I knew the problem wasn't the code Link to comment Share on other sites More sharing options...
samid737 Posted April 25, 2017 Share Posted April 25, 2017 (edited) I was halfway trough your code, good that you spotted your problem. Here is a reproduction of the case, if it might be a bug, do you have an idea @samme , maybe @rich knows why this is happening? (shift key is commented below spacebar) : UPDATE: Problem was keyboard ghosting. Edited April 26, 2017 by samid737 ghosting Link to comment Share on other sites More sharing options...
samme Posted April 25, 2017 Share Posted April 25, 2017 https://github.com/photonstorm/phaser/issues/1882 samid737 1 Link to comment Share on other sites More sharing options...
RalphWiggum Posted April 25, 2017 Share Posted April 25, 2017 @samid737 your code works fine for me I have this keyboard https://www.amazon.com/Razer-RZ03-00070100-R2M1-Tarantula-Gaming-Keyboard/dp/B000I20IHA Link to comment Share on other sites More sharing options...
Recommended Posts