my jsfiddle : http://jsfiddle.net/yKvuK/
as you can see when the human walk the image remain in it's place can i change the code so when i press left the image change it's position and look like it's walking to the left and not just walk in place ?
            function update() {
            canvas.clearRect(0, 0, CanvasWidth, CanvasHeight);
            if (keydown.left) {
                    CurentPos++;
                    if (CurentPos == ImgNumb) {
                        CurentPos = 0;
                    }
            }
        } // end update
Try this fiddle:
http://jsfiddle.net/yKvuK/1/
Basically, each time you change the frame, the "left" variable is decremented, so he moves left.
 // I draw the "init" picture at x=250, so he has more space to walk.
 var left = 250;
 function update() {
     canvas.clearRect(0, 0, CanvasWidth, CanvasHeight);
     if (keydown.left) {
         CurentPos++;
         if (CurentPos == ImgNumb) {
             CurentPos = 0;
         }
         left -= 5; // <----
     }
 } // end update
 ...
 ...
 function draw() {
     canvas.drawImage(characterImg, CurentPos * 64, 0, 64, 64, left, 200, 64, 64);
 }
btw, I've never seen /worked with a canvas. Looks like I was just lucky to pick the right variable :P
This will work: FIDDLE
Use your x variable (instead of adding new) and you will be able to use it on the move-right movement also. Add it in update().
if (keydown.left) {
    CurentPos++;
    x -= 3;  // I used 3 but increase this to move faster
    if (CurentPos == ImgNumb) {
         CurentPos = 0;
    }
}
and
canvas.drawImage(characterImg, CurentPos * 64, 0, 64, 64, 200 + x, 200, 64, 64);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With