Usuwanie narysowanych kształtów

0

Witam, niedawno zacząłem zabawę z Javą, udało mi się napisać pierwszy aplet na stronę www, który ma za zadanie rysować mapę izometryczną. Mapę rysuje dobrze. Zrobiłem również event, że gdy kliknie się na obszar to rysuje linię. Chciałbym się dowiedzieć jak taką linię można np. za kolejnym kliknięciem usunąć. Prosiłbym o jak najprostsze wytłumaczenie, ponieważ jeżeli chodzi o javę to jestem "zielony". Z góry dziękuje.

Pozdrawiam, mlodycompany

0

Narysuj linię w kolorze tła.

0

Są dwa skuteczne sposoby usuwania tego co się narysowało.

  1. Rysowanie wszystkiego w trybie XOR. Kolejne narysowanie tego samego obiektu przywróci w miejscu rysowania kolory sprzed tego rysowania.
    Zaletą jest duża szybkość. Wadą jest to, że przewidzenie jaki kolor pojawi się na konkretnym tle (istniejącym kolorze) jest podobne do wróżenia z fusów (trzeba zawsze sprawdzić). Sposób ten sprawdza się głównie na planach mono lub planach w których zawartością ekranu są indeksy palety. W trybach true color wychodzi to dość słabo. Przykładem działania efekty pracy kursora myszy w większości systemów GUI.
  2. Rysowanie wszystkiego co jest potrzebne wg zapisanych poza ekranem danych, aby w całości zapełnić panel lub ekran. Wtedy aby usunąć cokolwiek co zostało narysowane wystarczy po prostu wyłączyć wybrane elementy z ponownego odrysowania oraz ponowne odrysowanie. Zaletą jest całkowita kontrola nad obrazem, ale wadą jest konieczna szybkość całego systemu graficznego. Współcześnie tego sposobu używa się zarówno w różnych GUI jak i grach (gry 3D praktycznie wymuszają to rozwiązanie bo kolejna klatka może graficznie mieć niewiele wspólnego z poprzednią po takich operacjach jak np. obrót).

W Twoim konkretnym przypadku powinieneś w przypadku 1 ponownie narysować tę samą linię, a w przypadku 2 ponownie narysować mapę, tym razem bez linii.

1 użytkowników online, w tym zalogowanych: 0, gości: 1