Pierwszy post ocierający się o kwestie techniczne. Zacznę od napisania progress bar. Z paskiem postępu trochę jak z koniem. Każdy widzi jaki powinien być, więc po co się rozpisywać? Spróbuję jednak pokusić się o szczątkową dokumentację w tym miejscu.
Publiczne pola:
- tekst – n.p. Mana, Health, Time, może być pusty.
- kolor głównego paska
- pozycja na ekranie
- max value
- min value
Publiczne funkcje:
- SetValue(int value) – powoduje przejście paska do kolejnego stanu. No i właściwie tyle.
Proste, intuicyjnie jasne, i trochę nudne.
Ominę tworzenie prefabs, każdy pewnie wie albo się domyśli jak to zrobić. Zaczęłam nawet pisać, ale w połowie zorientowałam się że wyszło ponad 1000 słów czegoś co nie daje się czytać. Zamiast długiego wpisu oferuję więc animacje gotowych efektów:
Jeśli chodzi o część możliwą do wyklikania w UI, najbardziej istotne wydały mi się dwa problemy.
- Jak skalować element?
Dla ustalenia uwagi przypuśćmy, że chcemy aby pasek zajmował niezmiennie 10% szerokości i 3% wysokości ekranu, był umieszczony 5% od lewego boku i 3% od górnej krawędzi ekranu.
Druga, bardziej prawdopodobna opcja: chcemy aby pasek był umieszczony 5% od lewego boku i 3% od górnej krawędzi, natomiast przy skalowaniu zachował oryginalny stosunek szerokości do wysokości. - Wybuch gwiazdek odbywa się na scenie, obiekt Progress Bar jest dzieckiem obiektu Canvas. Jak zapewnić sobie, aby wybuch zawsze następował na końcu tego paska?
Jeśli chodzi o część związaną z kodem, to pomimo swojej prostoty zasługuje ona na osobny wpis. Jutro (dzisiaj) – dwa wpisy!
Widzę, że praca wre
też czasami korzystam z canvas. Czekam na kolejny wpis, niezłe tempo!