Draw healthbar()

Klikipedia - klikowa encyklopedia
Skocz do: nawigacji, wyszukiwarki
Właściwy tytuł tego artykułu to draw_healthbar(). Z powodu ograniczeń technicznych tytuł tego artykułu jest nieprawidłowy.
draw_healthbar() - funkcja, rysująca na ekranie pasek zdrowia

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ą:
  • 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()