Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Allegro]Jak zrobić edytor map?

Ostatnio zmodyfikowano 2009-07-11 19:39
Autor Wiadomość
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.)
P-8421
DejaVu
» 2009-07-11 18:48:05
tablica[ y ][ x ] = 123;
P-8422
pekfos
» 2009-07-11 18:58:20
co w tym trudnego? na podstawie mouse_x, mouse_y.. określasz gdzie
zmienić wartość. robiłeś kiedyś w allegro przyciski?
P-8425
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?
P-8426
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.
P-8428
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
P-8429
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 :)

C/C++
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;
    } //if
} //for for
P-8430
« 1 »
  Strona 1 z 1