Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SKRYPT][POMOC] mapa 2D
tgrPHP
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 7.12.2013

Ostrzeżenie: (0%)
-----


Witam
Mam problem otoz jak wyswietlic pojedyncze obrazki ktore sa na polach np x=5, y=5 30px*30px? pola sa trzymane w bazie danych.
Oto kod:
  1. $wiersz = 0;
  2. function mapa ($typ=0)
  3. {
  4. global $wiersz;
  5. if ($wiersz++>=7)
  6. {
  7. echo '</tr><tr>';
  8. $wiersz = 1;
  9. }
  10. if ($typ == 0) echo '<td class="mapa_sciana"></td>'; // niedostepne pole
  11. elseif ($typ == 1) echo '<td class="mapa_droga"></td>'; // dostepne pole
  12. elseif ($typ == 2) echo '<td class="mapa_gracz"></td>'; // gracz
  13. }
  14. echo '<table class="mapa" cellpadding="0" cellspacing="0">';
  15. $pytanie="SELECT * FROM gracz WHERE id = '".$_SESSION['uid']."' LIMIT 1";
  16. $odpowiedz = mysql_fetch_assoc(mysql_query($pytanie));
  17.  
  18. $x0 = $odpowiedz['x_gracz']-3;
  19. $x1 = $odpowiedz['x_gracz']+3;
  20. $y0 = $odpowiedz['y_gracz']-3;
  21. $y1 = $odpowiedz['y_gracz']+3;
  22.  
  23. $pytanie = "SELECT * FROM mapa WHERE (x BETWEEN '".$x0."' AND '".$x1."') AND (y BETWEEN '".$y0."' AND '".$y1."')";
  24. $wynik = mysql_query($pytanie);
  25. $mapa = array(); // zerowanie tablicy mapy
  26. for ($i=0;$i<7;$i++)
  27. {
  28. for ($j=0;$j<7;$j++)
  29. {
  30. $mapa[$i][$j]=0;
  31. }
  32. }
  33. while ($tmp = mysql_fetch_assoc($wynik)) //ladowanie pol do chodzenia
  34. {
  35. $mapa[$tmp['x']-$odpowiedz['x_gracz']+3][$tmp['y']-$odpowiedz['y_gracz']+3]=1;
  36. }
  37. $mapa [3][3]=2; //wyswietlenie gracza
  38.  
  39. for ($i=0;$i<7;$i++) //wysietlenie mapy
  40. {
  41. for ($j=0;$j<7;$j++)
  42. {
  43. mapa($mapa[$i][$j]);
  44. }
  45. }
  46. echo '</table>';

Z gory dzieki za pomoc !
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
bojaszukam
post
Post #2





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 19.10.2012

Ostrzeżenie: (0%)
-----


Jeśli dobrze zrozumiałem. Przypisz każdemu polu typ 1..9999.. . Każdy typ odpowiada odpowiedniemu obrazkowi. W zależności od tego jak chcesz to rozwiązać typy możesz pobierać z bazy razem z adresami aktualnego obrazka lub po prostu mieć je zapisane w pliku który includujesz.
Go to the top of the page
+Quote Post
ctom
post
Post #3





Grupa: Zarejestrowani
Postów: 321
Pomógł: 55
Dołączył: 19.04.2009

Ostrzeżenie: (0%)
-----


a nie prościej będzie w css:

Kod
    td {width:30px; height:30px;display: block;}
    td.mapa_sciana {
        background-image: url('obrazek-sciana') no-repeat;
        }
    td.mapa_droga{
        background-image: url('obrazek-droga') no-repeat;
    }
    td.mapa_gracz{
        background-image: url('obrazek-gracz') no-repeat;
    }


--------------------
Polecam MyDevil hosting idealny dla deweloperów
Go to the top of the page
+Quote Post
tgrPHP
post
Post #4





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 7.12.2013

Ostrzeżenie: (0%)
-----


Mapa jest wyswietlana chodzi mi o obiekty na niej probowalem napisac lecz nic nie wychodzi np (chce na polach x=5, y=5 obrazek 30*30px) kiedy napisalem cos takiego to obrazek przesuwal sie razem z graczem a chce zeby zostal na tych polach ktore ma przypisane smile.gif
Go to the top of the page
+Quote Post
ctom
post
Post #5





Grupa: Zarejestrowani
Postów: 321
Pomógł: 55
Dołączył: 19.04.2009

Ostrzeżenie: (0%)
-----


domyślam się o co Ci chodzi ale nie jestem pewien... jakiś czas temu napisałem "sapera" dla kogoś by się uczył na jego podstawie, może tobie też się przyda myśl przewodnia z tego skryptu link

Ten post edytował ctom 15.12.2013, 22:33:59


--------------------
Polecam MyDevil hosting idealny dla deweloperów
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 06:38