Tekstury (grafiki), w przeciwieństwie do modeli, są płaskie, dlatego jest możliwość wyświetlenia ich na ekranie. Można to wykorzystać do wielu rzeczy, np. jeden użytkownik z Naszego forum stworzył za ich pomocą pager, podobny do tego z GTA III czy GTA VCS. W grze tekstury zostały zastosowane już na samym początku, kiedy to jesteśmy informowani, że znajdujemy się na lotnisku (czarny ekran i napis).
Zanim przystąpimy do pisania kodu, trzeba dowiedzieć się kilku informacji.
- Tekstury znajdują się w plikach .txd.
- Pliki .txd, które możemy wykorzystać w skrypcie znajdują się w katalogu:
Kod:
[katalog_z_grą]/models/txd
- Do otworzenia tych plików najlepiej posłużyć się darmowym programem TXD Workshop, który możesz pobrać stąd.
W kodzie ominę sekcję "MAIN" i inne podstawowe elementy.
Kod:
0390: load_txd_dictionary
"GZ"
Powyższym kodem ładujemy plik .txd o nazwie GZ. Należy pamiętać, że nazwę podajemy bez rozszerzenia pliku. Jeśli chcesz skorzystać później z innego pliku, wystarczy wykonać ponownie ten kod.
Kod:
038F: load_texture
"logo" as 1
038F: load_texture
"star" as 2
Teraz ładujemy konkretne tekstury (logo i logo2) z pliku, który wcześniej wczytaliśmy. W tym przypadku "GZ". Tutaj także podajemy nazwy bez rozszerzenia. Na końcu przypisujemy daną teksturą do stałego numer. Tutaj są to cyfry 1 i 2. Należy pamiętać że te numery nie mogą się powtarzać.
Kod:
038D: draw_texture 1 position 50.0 300.0 size 150.0 50.0 RGBA 255 255 255 255
Kiedy wszystko co potrzebne jest załadowane, możemy przystąpić do wstawienia/narysowania/stworzenia tekstury na ekranie. Pierwszym parametrem jest stały numer tekstury, który wcześniej określiliśmy (tu: 1). Następnie określamy pozycję na ekranie według osi X i Y. Kolejne dwa parametry to rozmiar tekstury, szerokość i wysokość. Ostatnie cztery określają "kolorową nakładkę" na teksturę. Wartości podajemy w kodzie RGB (Red Green Blue), więcej na ten temat w Google.
Należy pamiętać, że wyświetlanie tekstury należy zapętlić, aby pozostała na ekranie. Domyślnie jest ona wyświetlana tylko w jednej klatce, po czym znika.
Kod:
074B: draw_texture 1 position
428@ 429@ scale
430@ 431@ angle
$TEMPVAR_ANGLE color_RGBA 220 220 220
404@
W pewnym momencie może zajść potrzeba obrócenia tekstury. Nie trzeba bawić się w programie graficznym i przezroczystością alpha. Z pomocą przychodzi nam powyższa funkcja. Początek jest taki sam jak poprzednio: najpierw numer tekstury, pozycja XY i wymiary. Po tym następuje angle (ang. kąt). Określamy tutaj kąt, o jaki ma obrócić się tekstura, np. 45.0. końcówka jest taka sama jak poprzednio, czyli kolorowa nakładka.
Kod:
03E3: set_texture_to_be_drawn_antialiased 1
Powyższa funkcja umożliwia włączenie tzw. antialiasingu (wygładzanie krawędzi) dla danej tekstury. Wystarczy podać tylko jeden parametr, czyli numer przypisany do tekstury.
1. Najczęstszym błędem jest podanie w błędny sposób pozycji i wymiarów:
100.0 - DOBRZE
100 - ŹLE
Należy pamiętać o kropce i wartości, która po niej następuje.
2. Uważaj na nazwy, jedna literówka i gra się wiesza.
3. Jeśli tekstura nie wyświetla się poprawnie, widać np. tylko kawałek to na 95% jest to wina pliku graficznego tekstury w pliku txd.
Posting comments to this article is disabled.