Mamy końcówkę roku 2025 i nawet teraz nie daję sobie chwili wytchnienia 😊. 26 listopada poszła w świat aktualizacja "A* Visualiser" do wersji 1.1! Jest obiecana przeze mnie lista wszystkich zmian jakie ze sobą nosi ta aktualizacja, a najważniejszą z nich jest wstawienie aplikacji na Google Play jako w pełni wspierająca Androida 🤩! Zapraszam do środka artykułu!
AKTUALIZACJA "A* VISUALISER" DO WERSJI 1.1, NIE KOŃCZY SIĘ NA DODAWANIU FUNKCJONALNOŚCI 🙂!
Nad aktualizacją programu zacząłem intensywnie pracować od 1 września, w dzień rocznicy wybuchu II wojny światowej (pamiętamy 🫡). Zakładałem, że uda się wszystko domknąć w październiku, natomiast przez konieczność pogodzenia prac nad programem z resztą świata i przeciążenie organizmu, które od wielu dni mi mówi "dosyć tyrania" (a nie mogę odpuścić, bo mam miesiące do tyłu) 😫, dopiero kilka dni temu z radością ogłosiłem koniec prac 🏁.
Szczegóły najważniejszych wprowadzonych zmian
Ujmę krótko: cieszę się, że udało się to dopiąć i że mogę Ci teraz przedstawić pełną listę zmian jakie przynosi ta OGROMNA wbrew pozorom, aktualizacja "A* Visualiser" do wersji 1.1 🏆! Zacznijmy od wypunktowania najważniejszych, a potem na samym końcu wypiszę wszystko, co miałem zanotowane 😄!
Wsparcie mobilne
Projekt, który został stworzony na prelekcję, przyniósł wyśmienitą okazję do poeksperymentowania nad wsparciem mobilnym w "Unity" 💝! Po wielu mozolnych "próbach i błędach", udaje mi się wstawić implementację umożliwiającą swobodną obsługę programu na smartfonie 💪!!! Smartfon nie posiada kursora do klikania 🤭 i trzeba było pomyśleć jak obejść to ograniczenie 🧠.
To mi dało do wiwatu i zaskoczyło, że samo portowanie na Androida może tak dać "pojarać" 🔥. A jednak 🙃! Aby można było zapewnić użytkownikowi wygodną obsługę, trzeba było wziąć pod uwagę 👇:
- skalowanie UI,
- zwiększenie rozmiaru czcionki elementów listy rozwijanej,
- zmianę niektórych tekstów lokalizacyjnych dostosowanych specjalnie pod inne sterowanie na smartfonie,
- nową osobną implementację zaznaczania kafelków do edycji poprzez naciskanie palcem na ekranie,
- nową osobną implementację zmiany wagi kafelków poprzez dodanie panelu pojawiającego się u góry,
- "margines" dla przesuwania palcem podczas próby zaznaczenia kafelka, które wymaga trzymania "w miejscu",
- zwiększenie wysokości suwaków do manipulacji wartością, aby było więcej miejsca dla palca chcąc je zaznaczyć,
- przesuwanie elementami UI z polami do wprowadzania wartości w momencie pojawienia się na ekranie klawiatury, aby nie zasłaniała podglądu na obecnie wpisaną wartość,
- obsługę wstawiania wygenerowanego zrzutu ekranu mapy przez API (aplikacje Androidowe z rozszerzeniem AAB nie zezwalają na bezpośredni dostęp do katalogu "DCIM" na smartfonie - można wyłącznie przez API o nazwie "MediaStore"),
- "odznaczanie" zaznaczonego kafelka po rozpoczęciu wyznaczania ścieżki (tam, gdzie najechanie kursorem tego nie wymagało, bo chcąc zaznaczyć przycisk trzeba "odjechać" od kafelka, tak tutaj na smartfonie, to zaznaczanie jest "kotwiczone" i trzeba było zadbać o ręczne "odpinanie" referencji 😅),
- aktualizowanie licznika wagi obecnie zaznaczonego kafelka po zresetowaniu wszystkich kafelków (znowu – tam, gdzie na PC nie trzeba było tego robić, bo kursor musiał przestać najeżdżać na kafelek celem kliknięcia przycisku do resetowania kafelków, tak tutaj trzeba było to uwzględnić!).
Przyznaję - zapierdol po całości 😆! Po pełnym przetestowaniu wszystkich przypadków, mogłem odetchnąć ze świadomością, że tym sposobem udało mi się zaimplementować pełne wsparcie na Androida i od tej pory, "A* Visualiser" jest dostępne do pobrania w sklepie Google Play - całkowicie za darmo 🌟!!!
![]() |
Widok aplikacji "A* Visualiser" w Google Play.
Polska wersja językowa
To druga najważniejsza funkcjonalność 🪄. "A* Visualiser" wspiera język biało-czerwonych 😁! Od tej pory, aplikacja wita użytkowników sceną wyboru jednego z dwóch dostępnych języków 👇:
![]() |
Scena wyboru języka w "A* Visualiser".
Oczywiście można potem go zmienić będąc już w scenie samego edytora ✅.
O ile samo wstawienie kluczy lokalizacyjnych i tłumaczeń wraz ze skonfigurowaniem poszczególnych statycznych elementów UI nie było problemem, tak dostosowanie zmiany języka dla elementów dynamicznych (listy rozwijane i legenda rodzajów kafelków) już wymagało niekonwencjonalnej modyfikacji 🔧. Nie wchodząc w techniczne buty po same kolana, trzeba było skorzystać z obiektu lokalizacyjnego i wykonać odpowiednią czynność.
Dla listy rozwijanej, konieczne było skorzystanie ze zdarzenia "zmieniono łańcuch znaków" (który odpala się po ustawieniu innego języka), przeiterowanie po zdefiniowanych kluczach i ustawienie tekstu każdemu z elementów po kolei 💡. Dla legendy rodzajów kafelków wystarczyło postąpić podobnie. Każdemu z rodzajów podstawiamy nowy łańcuch lokalizacyjny ze wskazaniem na zdefiniowaną tabelę z kluczami lokalizacyjnymi i jeden po drugim otrzymuje właściwy klucz lokalizacyjny 👍.
Nowe ustawienia
Aktualizacja "A* Visualiser" do wersji 1.1, to również parę nowych opcji w samym programie 😇!
Rysowanie obszaru mapy
Jedną z nowości jest dodanie rysowania obszaru mapy (razem z marginesem wokół niej) w postaci siatki 😎. Teraz będziesz wiedzieć gdzie są granice mapy i jak daleko możesz przemieszczać kafelki od środka mapy 😉.
Rysowanie można w każdej chwili wyłączyć zaznaczając odpowiedni ptaszek w panelu ustawień 😄.
![]() |
Przełączanie rysowania obszaru mapy w "A* Visualiser".
Konfiguracja prędkości ruchu kamery
Mała rzecz, która w jakiś sposób nie znalazła się na samym początku 😅. Od teraz możesz regulować sobie prędkością ruchu kamery 🎥.
![]() |
Regulacja prędkości ruchu kamery w "A* Visualiser".
I tyle! Co tu dużo pisać 😆?
Przełączanie się na tryb pełnoekranowy/okienkowy
Dodatkowa opcja w menu z przyciskami to możliwość swobodnego przełączania się na tryb pełnoekranowy i okienkowy. Opcja stworzona głównie dla wersji na "WebGL", aby można było korzystać z programu na pełnym ekranie na HTML5, tylko bez programowania jakichś przycisków poza samą aplikacją i pisania kodu w JS 🙂.
![]() |
Przycisk do przełączania trybu pełnoekranowego/okienkowego w "A* Visualiser".
Przełączanie języka
Rzecz rozumiana samo przez się 😄. Kolejny nowo dodany przycisk przestawiający język w programie 👅.
![]() |
Różnice w wersjach językowych w "A* Visualiser".
To też nie wymaga dodatkowych akapitów 😉.
Suwak do przewijania okna głównego ustawień
Ta niezbędna modyfikacja (którą spowodowało dodanie jeszcze większej gamy opcji w panelu 😊) wymagało większej przeróbki całego okna poprzez wstawienie suwaka do przewijania zawartości w pionie ✅. Teraz, będzie można w przyszłości dodawać tyle opcji ile się chce, bez narażania się na "przebicie" wysokości ekranu 😇!
![]() |
Przewijanie panelu głównego w "A* Visualiser".
Wskaźnik zaznaczonego kafelka
Kolejnym dodatkowym elementem wizualnym, jest prościutki efekt "trzymania" kafelka, który jest teraz przemieszczany. Lekkie zwiększenie skali kafelka, nic więcej 😁!
Stworzone głównie z myślą o Androidzie, bo z uwagi na zaimplementowane sterowanie, naciskając palcem ten sam kafelek drugi raz, użytkownik nie wiedziałby czy kafelek został "naciśnięty", czy nie. To teraz już wie 😆!
![]() |
Wskaźnik zaznaczonego kafelka w "A* Visualiser".
Pełna lista zmian
A teraz konkret! Oto wszystkie zmiany jakie wprowadza aktualizacja "A* Visualiser" do wersji 1.1 👇:
- dodano pełne wsparcie na system Android,
- dodano polską wersję językową,
- dodano scenę wyboru języka na samym początku uruchamiania aplikacji,
- dodano rysowanie obszaru mapy (razem z marginesem),
- dodano suwak do regulowania prędkości ruchu kamery,
- dodano opcję wł. i wył. wyświetlania obszaru mapy,
- dodano opcję przełączania na tryb pełnoekranowy/okienkowy,
- dodano opcję przełączania języka,
- dodano suwak do przewijania zawartości panelu głównego z opcjami,
- dodano wskaźnik zaznaczonego kafelka podczas "przemieszczania",
- dostosowano odstępy elementów interfejsu użytkownika od krawędzi paneli,
- zmieniono grafikę ikonek w listach rozwijanych (ptaszek i strzałka w dół),
- zmieniono grafikę "rączki" w suwaku,
- zmniejszono maksymalne wymiary mapy z 50x50 do 30x30,
- poprawiono system tworzenia zrzutów ekranu (teraz strzałki śladu ścieżki są zawsze wyśrodkowane w danym kafelku na wygenerowanym obrazie, niezależnie od aktualnej pozycji),
- poprawiono kod źródłowy,
- usunięto błąd związany z wykrywaniem zaznaczania kafelka w momencie, gdy kursor najeżdżał na dowolny panel interfejsu użytkownika,
- usunięto błąd z przybliżaniem i oddalaniem kamery w momencie, gdy kursor znajdował się na dowolnym panelu interfejsu użytkownika,
- usunięto błąd z brakiem wykrywania czy kursor myszy wciąż najeżdża na kafelek w momencie, gdy użytkownik go wybrał i trzymając go, kursor wychodzi poza obręb kafelka,
- usunięto błąd związany z brakiem blokowania ustawień heurystyki w trakcie procesu wyszukiwania ścieżki,
- usunięto błąd związany z koniecznością ponownego wciśnięcia klawisza do poruszania kamerą w momencie, gdy zatrzymała się w wyniku pojawienia się panelu wyskakującego, a następnie zamknięcia go,
- usunięto błąd związany z błędnym blokowaniem dostępu do ustawień dotyczących symulacji w momencie, gdy zamknięto wyskakujący panel w trakcie procesu wyszukiwania ścieżki.
Na sam koniec informuję, że program jest otwartoźródłowy i można bez problemu sobie ściągnąć repozytorium z mojego GitHub'a ✅. Projekt powstał na potrzeby prelekcji, którą miałem przyjemność poprowadzić i ma na celu udowodnienie swoich kompetencji jako deweloper 💪.
![]() |
Ja z "A* Visualiser".
A na koniec, zapraszam do obejrzenia rolki na moim profilu na IG 🚀!
I na tym kończę cały temat 💚! Cieszę się, że udało się to rozbudować i zrobić coś jeszcze w tym roku, zanim on się skończy 👍. To już ostatnia rzecz, którą mogłem zrobić przed 2026 rokiem.








