Files
Patryk Gensch 198d9cf477 Finished automatically generated docs
Time to correct it by itself
2026-05-20 22:49:46 +02:00

7.1 KiB

BUTTON

Interaktywny przycisk z trzema stanami wizualnymi (normalny, najechany, wciśnięty) oraz osobnymi grafikami i dźwiękami dla każdego z nich. Przycisk można dodatkowo wyłączyć — albo całkowicie (DISABLE), albo z zachowaniem widoczności (DISABLEBUTVISIBLE).

Wewnętrznie przycisk jest maszyną stanów. Każde przejście stanu automatycznie pokazuje lub ukrywa odpowiednie grafiki, odtwarza powiązany dźwięk oraz może wyemitować sygnał.

Stany przycisku

Stan Znaczenie
STANDARD spoczynek — pokazywana jest grafika z GFXSTANDARD.
HOVERED kursor jest nad obszarem przycisku — pokazywana jest grafika z GFXONMOVE (jeśli ustawiona, w przeciwnym razie nadal GFXSTANDARD).
PRESSED przycisk jest aktualnie wciśnięty — pokazywana jest grafika z GFXONCLICK (jeśli ustawiona, w przeciwnym razie nadal GFXSTANDARD).
DISABLED przycisk wyłączony i ukryty.
DISABLED_BUT_VISIBLE przycisk wyłączony, ale pokazywana jest grafika z GFXSTANDARD.

Pola

DRAGGABLE

BOOL DRAGGABLE

Określa, czy przycisk można przeciągać.

ENABLE

BOOL ENABLE

Określa, czy przycisk ma być włączony po inicjalizacji. Wartość FALSE umieszcza przycisk w stanie DISABLED.

GFXONCLICK

STRING GFXONCLICK

Nazwa zmiennej ANIMO lub IMAGE pokazywanej w stanie PRESSED. Pole opcjonalne — jeżeli nie zostanie ustawione, w stanie PRESSED nadal wyświetlana jest grafika z GFXSTANDARD.

GFXONMOVE

STRING GFXONMOVE

Nazwa zmiennej ANIMO lub IMAGE pokazywanej w stanie HOVERED. Pole opcjonalne.

GFXSTANDARD

STRING GFXSTANDARD

Nazwa zmiennej ANIMO lub IMAGE wyświetlanej w stanie spoczynku. Jeżeli pole ENABLE zostało ustawione na FALSE, grafika jest automatycznie ukrywana po inicjalizacji — z jednym wyjątkiem: jeżeli powiązana animacja jest właśnie w trakcie odtwarzania, pozostaje widoczna (przykład: pochodnia w 16BLAWA w Reksio i Skarb Piratów). W takim przypadku ustawienie TOCANVAS na powiązanej grafice nie ma znaczenia.

RECT

INTEGER, INTEGER, INTEGER, INTEGER RECT
STRING RECT

Obszar reagujący na kursor. Pole może być podane na dwa sposoby:

  • Cztery liczby całkowite xLeft,yBottom,xRight,yTop definiujące prostokąt na ekranie.
  • Nazwa zmiennej typu ANIMO lub IMAGE, z której pobierany jest bieżący prostokąt graficzny.

Jeżeli pole nie zostanie ustawione, używany jest prostokąt zmiennej wskazanej przez GFXSTANDARD.

SNDONCLICK

STRING SNDONCLICK

Nazwa zmiennej SOUND odtwarzanej przy przejściu w stan PRESSED.

SNDONMOVE

STRING SNDONMOVE

Nazwa zmiennej SOUND odtwarzanej przy przejściu w stan HOVERED.

SNDSTANDARD

STRING SNDSTANDARD

Nazwa zmiennej SOUND odtwarzanej przy powrocie do stanu STANDARD.

VISIBLE

BOOL VISIBLE

Pole zapisywane w danych skryptowych, ale nieobserwowane przez silnik — z testów wynika, że jego wartość nie wpływa na żadne zachowanie przycisku.

Metody

DISABLE

void DISABLE()

Wyłącza przycisk i ukrywa powiązane z nim grafiki ustawione przez GFXSTANDARD, GFXONMOVE i GFXONCLICK. Grafiki podpięte przez RECT pozostają bez zmian.

Przykłady

B_GLOBAL_PAUSE^DISABLE();

DISABLEBUTVISIBLE

void DISABLEBUTVISIBLE()

Wyłącza przycisk, ale pozostawia widoczną grafikę z GFXSTANDARD (analogicznie do DISABLE, ale stan końcowy to DISABLED_BUT_VISIBLE).

Przykłady

BTNBONE^DISABLEBUTVISIBLE();
BTNFORGOT^DISABLEBUTVISIBLE();

ENABLE

void ENABLE()

Włącza przycisk i przywraca widoczność grafice z GFXSTANDARD. Wywołanie na już włączonym przycisku nie ma efektu.

Przykłady

B_GLOBAL_PAUSE^ENABLE();
BTNEXIT^ENABLE();

SETPRIORITY

void SETPRIORITY(INTEGER posZ)

Ustawia priorytet rysowania (pozycję w osi Z) dla wszystkich trzech grafik powiązanych z przyciskiem (GFXSTANDARD, GFXONMOVE, GFXONCLICK). Wyższa wartość oznacza rysowanie później (z wierzchu).

Parametry

  • posZ — nowa wartość priorytetu.

Przykłady

B_GLOBAL_PAUSE^SETPRIORITY(5001);
BTNNULLFADE^SETPRIORITY(40000);

SETRECT

void SETRECT(STRING varName)
void SETRECT(INTEGER xLeft, INTEGER yBottom, INTEGER xRight, INTEGER yTop)

Ustawia obszar reagujący na kursor. Metoda ma dwie formy: pierwsza pobiera prostokąt z zadanej zmiennej ANIMO lub IMAGE, druga definiuje go bezpośrednio przez koordynaty.

Parametry

  • varName — nazwa zmiennej graficznej (forma 1).
  • xLeft, yBottom, xRight, yTop — koordynaty prostokąta (forma 2).

Przykłady

EXITPROGAM^SETRECT("ANNEXIT");
*STMP0^SETRECT([ITMPX+[ITMPDX*_I_]],[ITMPY+[ITMPDY*_I_]],[ITMPX+15+[ITMPDX*_I_]],[ITMPY+15+[ITMPDY*_I_]]);

SETSTD

void SETSTD(STRING varName)
void SETSTD(STRING varName, BOOL flag)

Ustawia grafikę standardową przycisku (pole GFXSTANDARD) i zeruje priorytet nowej grafiki. W skryptach gier występuje również forma dwuargumentowa z dodatkową flagą boolowską — zawsze wywoływana z wartością FALSE, znaczenie tego argumentu nie zostało ustalone.

Parametry

  • varName — nazwa nowej zmiennej standardowej (pusty ciąg "" czyści powiązanie).
  • flag — flaga konfiguracyjna (forma 2, znaczenie nieustalone).

Przykłady

BTNEXIT^SETSTD("ANNOBJECT2");
B_GLOBAL_PAUSE^SETSTD("",FALSE);
BTNBAD^SETSTD("ZLY",FALSE);

Sygnały

ONINIT

Wywoływany w momencie inicjalizacji obiektu.

ONFOCUSON

Wywoływany przy przejściu ze stanu STANDARD do HOVERED — czyli gdy kursor wjedzie na przycisk.

ONFOCUSOFF

Wywoływany przy przejściu z HOVERED do STANDARD — gdy kursor opuści przycisk.

ONCLICKED

Wywoływany przy przejściu w stan PRESSED (wciśnięcie przycisku myszy).

ONRELEASED

Wywoływany przy przejściu z PRESSED do HOVERED — gdy przycisk myszy zostanie zwolniony nad obszarem przycisku.

ONACTION

Wywoływany razem z ONRELEASED — sygnał potwierdzający, że nastąpiło kliknięcie (wciśnięcie i zwolnienie nad obszarem przycisku).

ONSTARTDRAGGING

Wywoływany po rozpoczęciu przeciągania przycisku (dostępne tylko dla przycisków z polem DRAGGABLE ustawionym na TRUE).

ONENDDRAGGING

Wywoływany po zakończeniu przeciągania przycisku.

ONSIGNAL

Wywoływany po otrzymaniu sygnału (zobacz Zdarzenia i sygnały).