Markuz Opublikowano 15 Maja 2011 Udostępnij Opublikowano 15 Maja 2011 Witam, mam taki kod JS ( Canvas ) : var canvas = document.getElementById('canvas_1'); if (canvas.getContext) { var canvas = document.getElementById('canvas_1'); if (canvas.getContext) { var c = canvas.getContext('2d'); // Dane okna gry var gameWidth = 320; var gameHeight = 240; // Dane gracza var x = 2; var y = 2; var width = 20; var height = 20; var xSpeed = 0; var xSpeedMax = 10; // Obsługa klawiszy function doKeyDown(evt){ switch (evt.keyCode) { case 37: // left if (xSpeed > -xSpeedMax) xSpeed-= 2; break; case 39: // right if (xSpeed < xSpeedMax) xSpeed+= 2; break; } } // Odświeżane rysowanie function draw() { // Zwiększanie bądź zmniejszanie prędkości na osi X if (xSpeed > 0) xSpeed--; if (xSpeed < 0) xSpeed++; // Dodawanie prędkości do położenia gracza na osi X x += xSpeed; // Prosta grawitacja if( y < (gameHeight - height) ) { y++; } // Czyszczenie ekranu c.fillStyle = "white"; c.fillRect(0,0,gameWidth,gameHeight); // Rysowanie gracza c.fillStyle = "black"; c.fillRect(x,y,width,height); // Rysowanie obramowania c.strokeRect(0,0,gameWidth,gameHeight); // strokeRect(x,y,width,height) } // Odświeżanie setInterval('draw()',30); } } window.addEventListener('keydown',doKeyDown,true); Wszystko działa ok, tylko że gracz nie chodzi płynnie przy ruchu w lewo i w prawo. Tutaj nie chodzi o kod, bo jak zrobiłem tak samo we Flashu to działało ok. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kofel Opublikowano 16 Maja 2011 Udostępnij Opublikowano 16 Maja 2011 mi się wydaje, że jednak keyDown to nie za ciekawy event do poruszania postacią http://www.w3schools.com/jsref/event_onkeypress.asp Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się