0

What I am trying to achieve is changing the way a player moves in a JQuery game.
Rather than a keypress I am trying to get the player to move if they click/mousedown on text, with id "left".

Original code is as follows.

            if(jQuery.gameQuery.keyTracker[65]){ //this is left! (a)
                var nextpos = parseInt($("#player").css("left"))-5;
                if(nextpos > 0){
                    $("#player").css("left", ""+nextpos+"px");
                }
            }

My code is as follows, and when I play, it just continuously moves the player left without me pressing anything. It shouldn't move left until I click or mousedown on the "left" id text.

            if ($('#left').mousedown){
                var nextpos = parseInt($("#player").css("left"))-5;
                if(nextpos > 0){
                    $("#player").css("left", ""+nextpos+"px");
                }
            }
MartinH23
  • 13
  • 3

1 Answers1

1

This:

if ($('#left').mousedown){

will always be true. You're checking if $() has a mousedown property and it always will because all jQuery objects have a mousedown method. You probably want to bind a mousedown event handler:

$('#left').mousedown(function(e) {
    //...
});
mu is too short
  • 426,620
  • 70
  • 833
  • 800