[Allegro]Jak zrobić edytor map?
Ostatnio zmodyfikowano 2009-07-11 19:39
| darek40bc Temat założony przez niniejszego użytkownika | [Allegro]Jak zrobić edytor map? » 2009-07-11 18:10:01 Zacząłem robić edytor map do mojej gry. Mapy będą zapisywane w tablicy dwuwymiarowej w *.txt. Mam problem z myszką. Jak zrobić, żeby gdy kliknę w miejsce na ekranie pojawił się klocek. Zrobiłem rysunek :D:
 
 -----------------
 | | | | | |
 -----------------        Tablica dwuwymiarowa
 | | | |X| | <- klikam i pojawia się klocek(X)
 -----------------
 | | | | | |
 -----------------
 
 Jak zrobić, aby po kliknięciu myszki w kratkę na tablicy zmieniała się jej wartość?
 
 
 (Ten opis myszki w kursie Allegro jest za mały :(, a w Manualu Allegro nic odpowiedniego niestety nie znalazłem.)
 | 
|  | 
| DejaVu | » 2009-07-11 18:48:05 | 
|  | 
| pekfos | » 2009-07-11 18:58:20 co w tym trudnego? na podstawie mouse_x, mouse_y.. określasz gdziezmienić wartość. robiłeś kiedyś w allegro przyciski?
 | 
|  | 
| darek40bc Temat założony przez niniejszego użytkownika | » 2009-07-11 19:02:59 Właśnie nic nie robiłem z myszką i wiem, że tak samo jak przyciski, ale jak? | 
|  | 
| DejaVu | » 2009-07-11 19:19:54 No to weź sobie utwórz mały projekt na boku, wypisz sobie wszystkie dane na ekranie o myszce (położenie + wciśnięty klawisz) i zacznij jeździć myszką po ekranie oraz klikać. Jak zauważysz wartości się te będą zmianiały i wystarczy napisać prosty warunek. | 
|  | 
| darek40bc Temat założony przez niniejszego użytkownika | » 2009-07-11 19:31:06 Można np. napisać jeżeli x > 20 && x < 40 && y > 20 && y < 40. Wtedy musiałbym ustawiać taki zakres do każdej komórki tablicy, a jest ich 100. Jeśli nie ma lepszego sposobu bez użycia klas to usuń ten temat. Muszę jeszcze dużo o tym poczytać. :D | 
|  | 
| DejaVu | » 2009-07-11 19:39:04 Możesz przecież zrobić sobie jednego if'a i umieścić go w pętli/w pętlach :) for( int x = 0; x < 10; x++ )for( int y = 0; y < 10; y++ )
 {
 if( mysz_x >= x * 40 && mysz_x <( x + 1 ) * 40
 && mysz_y >= y * 40 && mysz_y <( y + 1 ) * 40
 && kliknieto == 1 )
 {
 tablica[ y ][ x ] = 123;
 }
 }
 
 | 
|  | 
| « 1 » |