![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 0 Dołączył: 11.09.2011 Ostrzeżenie: (50%) ![]() ![]() |
Kod $(document).ready(function() { canvas = document.getElementById("canvas"); context = canvas.getContext("2d"); canvas.tabIndex = 0; canvas.focus(); canvas.addEventListener('keydown', function(e) { console.log(e); var key = null; switch (e.which) { case 39: // Right if (playerX < worldWidth) { advAJAX.get({ url:"../ajax/poruszanie.php?ruch=prawo", onSuccess: function(obj) { if(obj.responseText == '1') { playerX++; } } }); } break; } vX = playerX - Math.floor(0.5 * vWidth); if (vX < 0) vX = 0; if (vX+vWidth > worldWidth) vX = worldWidth - vWidth; vY = playerY - Math.floor(0.5 * vHeight); if (vY < 0) vY = 0; if (vY+vHeight > worldHeight) vY = worldHeight - vHeight; draw(); }, false); var board = []; canvas.width = 512; canvas.height = 352; board = loadMap(1); imageObj = new Image(); tiles = []; var loadedImagesCount = 0; for (x = 0; x <= NUM_OF_TILES; x++) { var imageObj = new Image(); // new instance for each image imageObj.src = "../grafika/obrazy/o" + x + ".png"; imageObj.onload = function() { // console.log("Added tile ... "+loadedImagesCount); loadedImagesCount++; if (loadedImagesCount == NUM_OF_TILES) { // Onces all tiles are loaded ... // We paint the map draw(); } }; tiles.push(imageObj); } function draw() { context.clearRect(0,0,canvas.width, canvas.height); for (y = 0; y <= vHeight; y++) { for (x = 0; x <= vWidth; x++) { theX = x * 32; theY = y * 32; context.drawImage(tiles[board[y+vY][x+vX]], theX, theY, 32, 32); } } context.fillStyle = 'red'; context.fillRect((playerX-vX)*32, (playerY-vY)*32, 32, 32); } }); I problem polega na tym, że gdy poruszę obrazkiem w prawo za pierwszym razem nie przesuwa się na mapie, za drugim, trzecim etc. już przesuwa się. Po stronie ajaxa mam tylko sprawdzanie czy postac nie natknela sie na blokade oraz zapisanie kordów do bazy. Ten post edytował wezyrno 7.10.2012, 12:06:56 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Pokaż to online http://jsfiddle.net/
-------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 0 Dołączył: 11.09.2011 Ostrzeżenie: (50%) ![]() ![]() |
Ale sam kod JS, bez łączności z kodem php działa poprawnie, więc po co mam go tam wklejać.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
To skąd My mamy wiedzieć jak działa.
-------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 17:17 |