Draw healthbar()
- Właściwy tytuł tego artykułu to draw_healthbar(). Z powodu ograniczeń technicznych tytuł tego artykułu jest nieprawidłowy.
Wywołanie
Finally showback indicates whether a background box must be shown and showborder indicated whether the box and bar should have a black border line.
Funkcja przyjmuje jedenaście argumentów:
draw_healthbar([real] x1, [real] y1, [real] x2, [real] y2, [real] war, [real] koltlo, [real] kol1, [real] kol2, [real] kier, [real] tlo, [real] obr)
- x1 - zmienna rzeczywista, współrzędna x lewego górnego wierzchołka
- y1 - zmienna rzeczywista, współrzędna y lewego górnego wierzchołka
- x2 - zmienna rzeczywista, współrzędna x prawego dolnego wierzchołka
- y2 - zmienna rzeczywista, współrzędna y prawego dolnego wierzchołka
- war - zmienna rzeczywista, określa, ile zdrowia pozostało. Wartość musi się zawrzeć w przedziale 0 - 100 (0 - 0%, 100 - 100%)
- koltlo - zmienna rzeczywista, określająca identyfikator koloru tła dla paska zdrowia. Można użyć również stałych (patrz następna sekcja)
- kol1 - zmienna rzeczywista, określająca identyfikator koloru tła dla paska zdrowia, kiedy ten jest wypełniony w 0%. Można użyć również stałych (patrz następna sekcja)
- kol2 - zmienna rzeczywista, określająca identyfikator koloru tła dla paska zdrowia, kiedy ten jest wypełniony w 100%. Można użyć również stałych (patrz następna sekcja)
Uwaga - kolory paska zdrowia pomiędzy przedziałami będą mieszanką kolorów kol1 i kol2 - oznacza to, że pasek wypełniony w pełni będzie miał kolor kol2, w trakcie ubywania będzie się zmniejszać jego długość, a kolor będzie stopniowo przechodził w stronę koloru kol1. Najczęściej stosowanymi kolorami jest zielony dla kol2 (pełne zdrowie) oraz czerwony dla kol1 (zerowe zdrowie)
- kier - zmienna rzeczywista, jedna z czterech wartości: 0, 1, 2 lub 3
- jeśli ustawiona na 0, to pasek będzie się zmniejszał od strony prawej
- jeśli ustawiona na 1, to pasek będzie się zmniejszał od strony lewej
- jeśli ustawiona na 2, to pasek będzie wyświetlany pionowo i będzie się zmniejszał od dołu
- jeśli ustawiona na 3, to pasek będzie wyświetlany pionowo i będzie się zmniejszał od góry
- tlo - zmienna rzeczywista, określająca czy ma być wyświetlane tło paska (0 - nie, 1 - tak)
- obr - zmienna rzeczywista, określająca czy ma być wyświetlane obramowanie paska (0 - nie, 1 - tak)
Predefiniowane kolory
| c_aqua | c_green | c_purple | |||
| c_black | c_lime | c_red | |||
| c_blue | c_ltgray | c_silver | |||
| c_dkgray | c_maroon | c_teal | |||
| c_fuchsia | c_navy | c_white | |||
| c_gray | c_olive | c_yellow |
Angielska nazwa stałej mówi o kolorze (np. c_yellow - żółty, c_ltgray - jasnoszary)
Przykład użycia
max_zdrowie=20; obecne_zdrowie=7; // musimy obliczyć, jaki to procent zdrowie_w_procentach=floor(100*obecne_zdrowie/max_zdrowie) draw_set_alpha(0.5); // niech pasek będzie w połowie przezroczysty draw_healthbar(10,460,100,470,zdrowie_w_procentach,c_white,c_red,c_green,0,0,1);
(dodatkowe funkcje użyte w przykładzie: draw_set_alpha(), floor())
Powyższy kod umieszczony w zdarzeniu DRAW wyświetli pasek w podanych współrzędnych, bez tła, za to z obramowaniem i kolorwany od zielonego do czerwonego.
max_zdrowie=23; obecne_zdrowie=7; // musimy obliczyć, jaki to procent zdrowie_w_procentach=floor(100*obecne_zdrowie/max_zdrowie) draw_set_alpha(1); // niech pasek będzie nieprzezroczysty draw_healthbar(630,0,640,480,zdrowie_w_procentach,c_white,make_color_rgb(10,20,30),make_color_rgb(45,67,89),2,1,0);
(dodatkowe funkcje użyte w przykładzie: draw_set_alpha(), floor(), make_color_rgb())
Powyższy kod umieszczony w zdarzeniu DRAW wyświetli pasek w podanych współrzędnych w pozycji pionowej, z wartościami odejmowanymi od dołu, z białym tłem i bez obramowania, kolorowany od barw RGB(10,20,30) do RGB(45,67,89).
Uwagi
- Działanie funkcji modyfikowane jest funkcją:
- draw_set_alpha() - ustawia przezroczystość rysowanego przycisku
- Paski zdrowia nadają się do rysowania liczników pionowych / poziomych, podobnych do tych z programów TGF i MMF
- Wygląd paska zdrowia można uzyskać posługując się odpowiednio funkcjami draw_rectangle() i draw_set_color()
- Ubywający pasek gradientowany i nieskalowany można uzyskać używając funkcji draw_sprite_part()
cały room: draw_clear() • draw_clear_alpha()
podstawowe kształty: draw_arrow() • draw_circle() • draw_ellipse() • draw_line() • draw_rectangle() • draw_roundrect() • draw_triangle()
pozostałe: draw_button() • draw_healthbar() • draw_path()