876 lines
16 KiB
Markdown
876 lines
16 KiB
Markdown
# ANIMO
|
||
|
||
Animacja wczytywana z pliku `.ANN`. Najbardziej rozbudowany typ wizualny w silniku — obsługuje wiele zdarzeń (sekwencji klatek), zmianę FPS-u, kotwicę punktu zaczepienia, przezroczystość, monitorowanie kolizji oraz tryb przycisku.
|
||
|
||
Animacja składa się z **zdarzeń** (`event`), z których każde jest sekwencją **klatek** (`frame`). Numer klatki w zdarzeniu liczony jest od `0`, a indeks globalny klatki w całej animacji liczony jest od `0` osobno.
|
||
|
||
## Pola
|
||
|
||
### ASBUTTON
|
||
|
||
```
|
||
BOOL ASBUTTON
|
||
```
|
||
|
||
Traktuje animację jako klikalny przycisk. Modyfikowane przez metodę [`SETASBUTTON`](#setasbutton).
|
||
|
||
### FILENAME
|
||
|
||
```
|
||
STRING FILENAME
|
||
```
|
||
|
||
Nazwa pliku `.ANN` z animacją. Pole odczytywane podczas inicjalizacji zmiennej; może być nadpisane metodą [`LOAD`](#load).
|
||
|
||
### FPS
|
||
|
||
```
|
||
INTEGER FPS
|
||
```
|
||
|
||
Liczba klatek animacji na sekundę. Modyfikowane przez metodę [`SETFPS`](#setfps).
|
||
|
||
### MONITORCOLLISION
|
||
|
||
```
|
||
BOOL MONITORCOLLISION
|
||
```
|
||
|
||
Określa, czy animacja uczestniczy w detekcji kolizji. Modyfikowane przez metody [`MONITORCOLLISION`](#monitorcollision-1) i [`REMOVEMONITORCOLLISION`](#removemonitorcollision).
|
||
|
||
### MONITORCOLLISIONALPHA
|
||
|
||
```
|
||
BOOL MONITORCOLLISIONALPHA
|
||
```
|
||
|
||
Określa, czy w detekcji kolizji uwzględniany jest kanał przezroczystości.
|
||
|
||
### PRELOAD
|
||
|
||
```
|
||
BOOL PRELOAD
|
||
```
|
||
|
||
Określa, czy dane animacji mają być załadowane od razu przy inicjalizacji.
|
||
|
||
### PRIORITY
|
||
|
||
```
|
||
INTEGER PRIORITY
|
||
```
|
||
|
||
Priorytet renderowania (`Z`) względem innych obiektów na scenie.
|
||
|
||
### TOCANVAS
|
||
|
||
```
|
||
BOOL TOCANVAS
|
||
```
|
||
|
||
Określa, czy animacja jest rysowana na głównej kanwie sceny. Ustawienie `FALSE` ukrywa animację wizualnie, ale silnik nadal ją odtwarza i emituje powiązane zdarzenia.
|
||
|
||
### VISIBLE
|
||
|
||
```
|
||
BOOL VISIBLE
|
||
```
|
||
|
||
Widoczność animacji. Modyfikowana metodami [`SHOW`](#show) i [`HIDE`](#hide).
|
||
|
||
## Metody
|
||
|
||
### GETANCHOR
|
||
|
||
```
|
||
STRING GETANCHOR()
|
||
```
|
||
|
||
Zwraca aktualnie ustawioną kotwicę animacji w postaci, w jakiej została przekazana do [`SETANCHOR`](#setanchor).
|
||
|
||
**Zwraca**: nazwa kotwicy lub jej współrzędne.
|
||
|
||
### GETCENTERX
|
||
|
||
```
|
||
INTEGER GETCENTERX()
|
||
```
|
||
|
||
Zwraca współrzędną X środka bounding boxa aktualnej klatki animacji.
|
||
|
||
**Zwraca**: środek X.
|
||
|
||
**Przykłady**
|
||
|
||
```
|
||
ANNREX^GETCENTERX();
|
||
```
|
||
|
||
### GETCENTERY
|
||
|
||
```
|
||
INTEGER GETCENTERY()
|
||
```
|
||
|
||
Zwraca współrzędną Y środka bounding boxa aktualnej klatki animacji.
|
||
|
||
**Zwraca**: środek Y.
|
||
|
||
### GETCFRAMEINEVENT
|
||
|
||
```
|
||
INTEGER GETCFRAMEINEVENT()
|
||
```
|
||
|
||
Zwraca numer bieżącej klatki wewnątrz aktualnie odtwarzanego zdarzenia (licząc od `0`).
|
||
|
||
**Zwraca**: indeks klatki w zdarzeniu.
|
||
|
||
**Przykłady**
|
||
|
||
```
|
||
ANNREX^GETCFRAMEINEVENT();
|
||
```
|
||
|
||
### GETCURRFRAMEPOSX
|
||
|
||
```
|
||
INTEGER GETCURRFRAMEPOSX()
|
||
```
|
||
|
||
Zwraca przesunięcie w osi X dla aktualnie wyświetlanego obrazka (per-klatkowe, definiowane w pliku animacji).
|
||
|
||
**Zwraca**: przesunięcie X obrazka.
|
||
|
||
### GETCURRFRAMEPOSY
|
||
|
||
```
|
||
INTEGER GETCURRFRAMEPOSY()
|
||
```
|
||
|
||
Zwraca przesunięcie w osi Y dla aktualnie wyświetlanego obrazka.
|
||
|
||
**Zwraca**: przesunięcie Y obrazka.
|
||
|
||
### GETENDX
|
||
|
||
```
|
||
INTEGER GETENDX()
|
||
```
|
||
|
||
Zwraca prawą krawędź bounding boxa aktualnej klatki.
|
||
|
||
**Zwraca**: prawa krawędź X.
|
||
|
||
### GETENDY
|
||
|
||
```
|
||
INTEGER GETENDY()
|
||
```
|
||
|
||
Zwraca dolną krawędź bounding boxa aktualnej klatki.
|
||
|
||
**Zwraca**: dolna krawędź Y.
|
||
|
||
### GETEVENTNAME
|
||
|
||
```
|
||
STRING GETEVENTNAME()
|
||
```
|
||
|
||
Zwraca nazwę aktualnie odtwarzanego zdarzenia.
|
||
|
||
**Zwraca**: nazwa zdarzenia.
|
||
|
||
**Przykłady**
|
||
|
||
```
|
||
ANNREX^GETEVENTNAME();
|
||
```
|
||
|
||
### GETFRAME
|
||
|
||
```
|
||
INTEGER GETFRAME()
|
||
```
|
||
|
||
Zwraca globalny indeks aktualnie odtwarzanej klatki (niezależny od podziału na zdarzenia).
|
||
|
||
**Zwraca**: globalny indeks klatki.
|
||
|
||
### GETFRAMENAME
|
||
|
||
```
|
||
STRING GETFRAMENAME()
|
||
```
|
||
|
||
Zwraca nazwę aktualnie odtwarzanej klatki (nazwa pliku obrazka).
|
||
|
||
**Zwraca**: nazwa klatki.
|
||
|
||
### GETHEIGHT
|
||
|
||
```
|
||
INTEGER GETHEIGHT()
|
||
```
|
||
|
||
Zwraca wysokość aktualnej klatki animacji.
|
||
|
||
**Zwraca**: wysokość w pikselach.
|
||
|
||
### GETMAXHEIGHT
|
||
|
||
```
|
||
INTEGER GETMAXHEIGHT()
|
||
```
|
||
|
||
Zwraca maksymalną wysokość spośród wszystkich klatek animacji.
|
||
|
||
**Zwraca**: największa wysokość w pikselach.
|
||
|
||
### GETMAXWIDTH
|
||
|
||
```
|
||
INTEGER GETMAXWIDTH()
|
||
```
|
||
|
||
Zwraca maksymalną szerokość spośród wszystkich klatek animacji.
|
||
|
||
**Zwraca**: największa szerokość w pikselach.
|
||
|
||
**Przykłady**
|
||
|
||
```
|
||
ANN_STATEK^GETMAXWIDTH();
|
||
```
|
||
|
||
### GETNAME
|
||
|
||
```
|
||
STRING GETNAME()
|
||
```
|
||
|
||
Zwraca nazwę zmiennej animacji.
|
||
|
||
**Zwraca**: nazwa zmiennej.
|
||
|
||
### GETNOE
|
||
|
||
```
|
||
INTEGER GETNOE()
|
||
```
|
||
|
||
Zwraca liczbę zdarzeń w animacji (skrót od *Number Of Events*).
|
||
|
||
**Zwraca**: liczba zdarzeń.
|
||
|
||
**Przykłady**
|
||
|
||
```
|
||
ANNLISCIESLOTY^GETNOE();
|
||
ANNBTN^GETNOE();
|
||
```
|
||
|
||
### GETNOF
|
||
|
||
```
|
||
INTEGER GETNOF()
|
||
```
|
||
|
||
Zwraca łączną liczbę klatek w animacji (skrót od *Number Of Frames*).
|
||
|
||
**Zwraca**: liczba klatek.
|
||
|
||
### GETNOFINEVENT
|
||
|
||
```
|
||
INTEGER GETNOFINEVENT(INTEGER eventId)
|
||
INTEGER GETNOFINEVENT(STRING eventName)
|
||
```
|
||
|
||
Zwraca liczbę klatek w podanym zdarzeniu. Zdarzenie można wskazać numerem (od `0`) lub nazwą (wielkość liter bez znaczenia). Dla nieistniejącego zdarzenia zwracane jest `0`.
|
||
|
||
**Parametry**
|
||
|
||
- `eventId` / `eventName` — identyfikator zdarzenia.
|
||
|
||
**Zwraca**: liczba klatek w zdarzeniu.
|
||
|
||
**Przykłady**
|
||
|
||
```
|
||
ANNREX^GETNOFINEVENT(VARSTEMP0);
|
||
ANNUKLAD^GETNOFINEVENT(0);
|
||
ANNPLANNAK^GETNOFINEVENT("IDLE");
|
||
```
|
||
|
||
### GETPOSITIONX
|
||
|
||
```
|
||
INTEGER GETPOSITIONX([BOOL absolute])
|
||
```
|
||
|
||
Zwraca współrzędną X lewego górnego rogu aktualnej klatki na kanwie. Wariant z `BOOL` zwraca pozycję bezwzględną, bez uwzględniania per-klatkowych przesunięć z pliku animacji.
|
||
|
||
**Parametry**
|
||
|
||
- `absolute` — (opcjonalnie) `TRUE`, aby pominąć przesunięcia per-klatkowe.
|
||
|
||
**Zwraca**: pozycja X.
|
||
|
||
### GETPOSITIONY
|
||
|
||
```
|
||
INTEGER GETPOSITIONY([BOOL absolute])
|
||
```
|
||
|
||
Zwraca współrzędną Y lewego górnego rogu aktualnej klatki na kanwie. Wariant z `BOOL` zwraca pozycję bezwzględną.
|
||
|
||
**Parametry**
|
||
|
||
- `absolute` — (opcjonalnie) `TRUE`, aby pominąć przesunięcia per-klatkowe.
|
||
|
||
**Zwraca**: pozycja Y.
|
||
|
||
### GETPRIORITY
|
||
|
||
```
|
||
INTEGER GETPRIORITY()
|
||
```
|
||
|
||
Zwraca priorytet renderowania (`Z`) animacji.
|
||
|
||
**Zwraca**: wartość pola [`PRIORITY`](#priority).
|
||
|
||
### GETWIDTH
|
||
|
||
```
|
||
INTEGER GETWIDTH()
|
||
```
|
||
|
||
Zwraca szerokość aktualnej klatki animacji.
|
||
|
||
**Zwraca**: szerokość w pikselach.
|
||
|
||
### HIDE
|
||
|
||
```
|
||
void HIDE()
|
||
```
|
||
|
||
Ukrywa animację wizualnie, nie przerywając jej odtwarzania. Po wywołaniu [`PLAY`](#play) widoczność zostanie automatycznie przywrócona.
|
||
|
||
### ISAT
|
||
|
||
```
|
||
BOOL ISAT(INTEGER posX, INTEGER posY)
|
||
```
|
||
|
||
Sprawdza, czy punkt o podanych współrzędnych znajduje się wewnątrz bounding boxa aktualnej klatki.
|
||
|
||
**Parametry**
|
||
|
||
- `posX` — współrzędna X punktu.
|
||
- `posY` — współrzędna Y punktu.
|
||
|
||
**Zwraca**: [`BOOL`](BOOL.md) — `TRUE`, jeżeli punkt jest wewnątrz bounding boxa.
|
||
|
||
### ISNEAR
|
||
|
||
```
|
||
BOOL ISNEAR(STRING animoName, INTEGER iouThresholdPercent)
|
||
```
|
||
|
||
Sprawdza, czy bieżąca animacja jest w pobliżu drugiej animacji. Wewnętrznie wyznaczany jest indeks Jaccarda (*Intersection over Union*, IoU) bounding boxów dwóch animacji; jeżeli IoU przekracza podany próg (wyrażony w procentach), zwracane jest `TRUE`.
|
||
|
||
**Parametry**
|
||
|
||
- `animoName` — nazwa drugiej animacji.
|
||
- `iouThresholdPercent` — próg IoU w procentach.
|
||
|
||
**Zwraca**: [`BOOL`](BOOL.md) — `TRUE`, jeżeli IoU przekracza próg.
|
||
|
||
**Przykłady**
|
||
|
||
```
|
||
ENEMY^ISNEAR("HERO", 1);
|
||
ANNORKA^ISNEAR("ANNLODKA", 12);
|
||
```
|
||
|
||
### ISPLAYING
|
||
|
||
```
|
||
BOOL ISPLAYING()
|
||
BOOL ISPLAYING(STRING eventName)
|
||
```
|
||
|
||
Sprawdza, czy animacja jest odtwarzana. Wariant bez argumentu sprawdza, czy jakiekolwiek zdarzenie jest aktualnie odtwarzane; wariant z nazwą zdarzenia sprawdza, czy odtwarzane jest konkretnie to zdarzenie.
|
||
|
||
**Parametry**
|
||
|
||
- `eventName` — (opcjonalnie) nazwa zdarzenia do sprawdzenia.
|
||
|
||
**Zwraca**: [`BOOL`](BOOL.md) — `TRUE`, jeżeli animacja (lub konkretne zdarzenie) jest odtwarzana.
|
||
|
||
**Przykłady**
|
||
|
||
```
|
||
ANNREX^ISPLAYING();
|
||
ANNREXGLOWA^ISPLAYING("SPI");
|
||
```
|
||
|
||
### ISVISIBLE
|
||
|
||
```
|
||
BOOL ISVISIBLE()
|
||
```
|
||
|
||
Sprawdza, czy animacja jest widoczna ([`VISIBLE`](#visible) = `TRUE` i [`TOCANVAS`](#tocanvas) = `TRUE`).
|
||
|
||
**Zwraca**: [`BOOL`](BOOL.md) — `TRUE`, jeżeli animacja jest widoczna.
|
||
|
||
### LOAD
|
||
|
||
```
|
||
void LOAD(STRING path)
|
||
```
|
||
|
||
Wczytuje animację z pliku `.ANN`, zastępując dotychczasową zawartość.
|
||
|
||
**Parametry**
|
||
|
||
- `path` — ścieżka pliku `.ANN` w VFS gry.
|
||
|
||
**Przykłady**
|
||
|
||
```
|
||
ANNBKG^LOAD(SOBJECT|NAME);
|
||
ANNCHARACTER^LOAD("PIXEL.ANN");
|
||
ANNMINIMAPA^LOAD([""+ILEVEL+"_MINIMAPA.ANN"]);
|
||
```
|
||
|
||
### MONITORCOLLISION {#monitorcollision-1}
|
||
|
||
```
|
||
void MONITORCOLLISION()
|
||
```
|
||
|
||
Włącza monitorowanie kolizji animacji z innymi obiektami.
|
||
|
||
### MONITORCOLLISIONALPHA {#monitorcollisionalpha-1}
|
||
|
||
```
|
||
void MONITORCOLLISIONALPHA()
|
||
```
|
||
|
||
Włącza uwzględnianie kanału alfa przy detekcji kolizji.
|
||
|
||
### MOVE
|
||
|
||
```
|
||
void MOVE(INTEGER offsetX, INTEGER offsetY)
|
||
```
|
||
|
||
Przesuwa animację o zadane wartości względem aktualnej pozycji.
|
||
|
||
**Parametry**
|
||
|
||
- `offsetX` — przesunięcie w osi X.
|
||
- `offsetY` — przesunięcie w osi Y.
|
||
|
||
**Przykłady**
|
||
|
||
```
|
||
ANNELEMENT^MOVE(-200, 0);
|
||
ANNPLAYER^MOVE(VARDX, VARDY);
|
||
ANNITEMDRAGGING^MOVE([IMOUSEX-IMOUSELASTX], [IMOUSEY-IMOUSELASTY]);
|
||
```
|
||
|
||
### NEXTFRAME
|
||
|
||
```
|
||
void NEXTFRAME()
|
||
```
|
||
|
||
Przeskakuje do następnej klatki bieżącego zdarzenia.
|
||
|
||
### NPLAY
|
||
|
||
```
|
||
void NPLAY(INTEGER eventId)
|
||
```
|
||
|
||
Rozpoczyna odtwarzanie zdarzenia o podanym indeksie (numerowanym od `0`).
|
||
|
||
**Parametry**
|
||
|
||
- `eventId` — indeks zdarzenia.
|
||
|
||
**Przykłady**
|
||
|
||
```
|
||
ANNDARK0^NPLAY(VARITEMP2);
|
||
CZAS^NPLAY(0);
|
||
```
|
||
|
||
### PAUSE
|
||
|
||
```
|
||
void PAUSE()
|
||
```
|
||
|
||
Wstrzymuje odtwarzanie animacji w aktualnej klatce.
|
||
|
||
### PLAY
|
||
|
||
```
|
||
void PLAY([STRING eventName])
|
||
```
|
||
|
||
Rozpoczyna odtwarzanie zdarzenia. Wariant bez argumentu wznawia ostatnio odtwarzane zdarzenie od początku.
|
||
|
||
**Parametry**
|
||
|
||
- `eventName` — (opcjonalnie) nazwa zdarzenia do odtworzenia (wielkość liter bez znaczenia).
|
||
|
||
**Przykłady**
|
||
|
||
```
|
||
G_STLPAGE^PLAY("ELAPSE");
|
||
ANNREX^PLAY(VARITEMP0);
|
||
ANNKRET^PLAY(["IDLE_"+ANNKRET^GETEVENTNAME()]);
|
||
ANIMOREKSIO^PLAY($1);
|
||
```
|
||
|
||
### PREVFRAME
|
||
|
||
```
|
||
void PREVFRAME()
|
||
```
|
||
|
||
Przechodzi do poprzedniej klatki bieżącego zdarzenia.
|
||
|
||
### REMOVEMONITORCOLLISION
|
||
|
||
```
|
||
void REMOVEMONITORCOLLISION()
|
||
```
|
||
|
||
Wyłącza monitorowanie kolizji, włączone wcześniej przez [`MONITORCOLLISION`](#monitorcollision-1).
|
||
|
||
### REMOVEMONITORCOLLISIONALPHA
|
||
|
||
```
|
||
void REMOVEMONITORCOLLISIONALPHA()
|
||
```
|
||
|
||
Wyłącza uwzględnianie kanału alfa przy detekcji kolizji, włączone wcześniej przez [`MONITORCOLLISIONALPHA`](#monitorcollisionalpha-1).
|
||
|
||
### RESUME
|
||
|
||
```
|
||
void RESUME()
|
||
```
|
||
|
||
Wznawia odtwarzanie wstrzymane przez [`PAUSE`](#pause).
|
||
|
||
### SETANCHOR
|
||
|
||
```
|
||
void SETANCHOR(STRING anchor)
|
||
void SETANCHOR(INTEGER offsetX, INTEGER offsetY)
|
||
```
|
||
|
||
Ustawia kotwicę animacji — punkt zaczepienia, który jest odejmowany od współrzędnych przekazywanych do [`SETPOSITION`](#setposition).
|
||
|
||
Wariant z `STRING` przyjmuje nazwę pozycji wyliczonej z bounding boxa: `CENTER`, `LEFTUPPER`, `RIGHTUPPER`, `LEFTLOWER`, `RIGHTLOWER`, `LEFT`, `RIGHT`, `TOP`, `BOTTOM`.
|
||
|
||
Wariant z dwoma `INTEGER`-ami przyjmuje współrzędne kotwicy bezpośrednio.
|
||
|
||
**Parametry**
|
||
|
||
- `anchor` — nazwa pozycji w bounding boxie.
|
||
- `offsetX, offsetY` — współrzędne kotwicy.
|
||
|
||
**Przykłady**
|
||
|
||
```
|
||
ANNSELECT^SETANCHOR("CENTER");
|
||
ANNREX^SETANCHOR("LEFTLOWER");
|
||
ANNREX^SETANCHOR(0, -100);
|
||
```
|
||
|
||
### SETASBUTTON
|
||
|
||
```
|
||
void SETASBUTTON(BOOL enabled, BOOL changeCursor)
|
||
```
|
||
|
||
Ustawia animację jako klikalny przycisk. Niezależnie od wartości argumentów wywołanie sprawia, że animacja staje się widoczna.
|
||
|
||
**Parametry**
|
||
|
||
- `enabled` — `TRUE`, aby aktywować obsługę kliknięć.
|
||
- `changeCursor` — `TRUE`, aby kursor zmieniał wygląd po najechaniu na animację.
|
||
|
||
**Przykłady**
|
||
|
||
```
|
||
ANNEXIT^SETASBUTTON(TRUE, TRUE);
|
||
ANIMOPOWROT^SETASBUTTON(FALSE, FALSE);
|
||
```
|
||
|
||
### SETBACKWARD
|
||
|
||
```
|
||
void SETBACKWARD()
|
||
```
|
||
|
||
Ustawia kierunek odtwarzania animacji na wsteczny.
|
||
|
||
### SETFORWARD
|
||
|
||
```
|
||
void SETFORWARD()
|
||
```
|
||
|
||
Ustawia kierunek odtwarzania animacji na zgodny z naturalnym (do przodu).
|
||
|
||
### SETFPS
|
||
|
||
```
|
||
void SETFPS(INTEGER fps)
|
||
```
|
||
|
||
Zmienia tempo odtwarzania animacji.
|
||
|
||
**Parametry**
|
||
|
||
- `fps` — liczba klatek na sekundę.
|
||
|
||
**Przykłady**
|
||
|
||
```
|
||
STLMAGIC^SETFPS(5);
|
||
ANNMUCHA1^SETFPS(30);
|
||
ANNKON^SETFPS([IKONFPS*8]);
|
||
```
|
||
|
||
### SETFRAME
|
||
|
||
```
|
||
void SETFRAME(INTEGER frameNumber)
|
||
void SETFRAME(STRING eventName, INTEGER frameNumber)
|
||
void SETFRAME(STRING eventName, STRING frameName)
|
||
```
|
||
|
||
Ustawia animację na konkretną klatkę. Wariant z jednym argumentem ustawia klatkę po jej globalnym indeksie. Wariant dwuargumentowy wybiera zdarzenie, a następnie pozycję w nim (przez numer lub nazwę klatki).
|
||
|
||
**Parametry**
|
||
|
||
- `eventName` — nazwa zdarzenia.
|
||
- `frameNumber` — indeks klatki w zdarzeniu (od `0`) lub globalny indeks klatki.
|
||
- `frameName` — nazwa konkretnej klatki w zdarzeniu.
|
||
|
||
**Przykłady**
|
||
|
||
```
|
||
ANNREX^SETFRAME(VARSTEMP0, [VARITEMP2-1]);
|
||
ANNSCIAGA^SETFRAME("PLAY", VARIREPEATSPELL);
|
||
OFERTA^SETFRAME(3);
|
||
ANN_H_PIECYK^SETFRAME("ROT", "PIECYK4");
|
||
```
|
||
|
||
### SETFRAMENAME
|
||
|
||
```
|
||
void SETFRAMENAME(INTEGER eventId, INTEGER frameNumber, STRING name)
|
||
```
|
||
|
||
Zmienia nazwę konkretnej klatki w podanym zdarzeniu.
|
||
|
||
**Parametry**
|
||
|
||
- `eventId` — indeks zdarzenia (od `0`).
|
||
- `frameNumber` — indeks klatki w zdarzeniu (od `0`).
|
||
- `name` — nowa nazwa klatki.
|
||
|
||
**Przykłady**
|
||
|
||
```
|
||
ANNKALAREPA^SETFRAMENAME(0, 0, "200");
|
||
ANNKALAREPA^SETFRAMENAME(1, 0, "300");
|
||
```
|
||
|
||
### SETOPACITY
|
||
|
||
```
|
||
void SETOPACITY(INTEGER opacity)
|
||
```
|
||
|
||
Ustawia przezroczystość animacji w skali `0–255` (`0` — pełna przezroczystość, `255` — pełna nieprzezroczystość).
|
||
|
||
**Parametry**
|
||
|
||
- `opacity` — wartość kanału alfa.
|
||
|
||
**Przykłady**
|
||
|
||
```
|
||
ANNPLAYER0^SETOPACITY(255);
|
||
ANNPLAYER^SETOPACITY(100);
|
||
```
|
||
|
||
### SETPOSITION
|
||
|
||
```
|
||
void SETPOSITION(INTEGER posX, INTEGER posY)
|
||
```
|
||
|
||
Ustawia bezwzględną pozycję animacji. Jeżeli wcześniej ustawiono kotwicę metodą [`SETANCHOR`](#setanchor), jej współrzędne są odejmowane od podanych argumentów.
|
||
|
||
**Parametry**
|
||
|
||
- `posX` — współrzędna X.
|
||
- `posY` — współrzędna Y.
|
||
|
||
**Przykłady**
|
||
|
||
```
|
||
ANNREX^SETPOSITION(400, 300);
|
||
ANNEXIT^SETPOSITION(-700, -450);
|
||
ANNBKG^SETPOSITION([VARIBKGOFFSETX-VARDTEMP0], [VARIBKGOFFSETY-VARDTEMP1]);
|
||
```
|
||
|
||
### SETPRIORITY
|
||
|
||
```
|
||
void SETPRIORITY(INTEGER priority)
|
||
```
|
||
|
||
Ustawia priorytet renderowania.
|
||
|
||
**Parametry**
|
||
|
||
- `priority` — nowa wartość pola [`PRIORITY`](#priority).
|
||
|
||
**Przykłady**
|
||
|
||
```
|
||
ANNREX^SETPRIORITY(VARIPRIORITY);
|
||
ANNHEAD1^SETPRIORITY(15);
|
||
```
|
||
|
||
### SHOW
|
||
|
||
```
|
||
void SHOW()
|
||
```
|
||
|
||
Pokazuje animację (ustawia [`VISIBLE`](#visible) na `TRUE`).
|
||
|
||
### STOP
|
||
|
||
```
|
||
void STOP([BOOL emitSignal])
|
||
```
|
||
|
||
Zatrzymuje odtwarzanie animacji.
|
||
|
||
**Parametry**
|
||
|
||
- `emitSignal` — (opcjonalnie) jeżeli `FALSE`, sygnał [`ONFINISHED`](#onfinished) nie zostanie wyemitowany. Domyślnie sygnał jest emitowany.
|
||
|
||
**Przykłady**
|
||
|
||
```
|
||
G_STLPAGE^STOP(FALSE);
|
||
ANNREX^STOP(FALSE);
|
||
ANNBLANK^STOP();
|
||
```
|
||
|
||
### TOP
|
||
|
||
```
|
||
void TOP([BOOL flag])
|
||
```
|
||
|
||
Modyfikuje sposób renderowania animacji względem warstwy „wierzchu" sceny. Dokładne zachowanie zależne od bieżącej kompozycji sceny.
|
||
|
||
**Parametry**
|
||
|
||
- `flag` — (opcjonalnie) flaga modyfikująca tryb działania.
|
||
|
||
**Przykłady**
|
||
|
||
```
|
||
ANNWAND0^TOP(FALSE);
|
||
ANNHEAD0^TOP(FALSE);
|
||
```
|
||
|
||
## Sygnały
|
||
|
||
### ONCLICK
|
||
|
||
Wywoływany po kliknięciu w animację, jeżeli jest ustawiona jako przycisk ([`SETASBUTTON`](#setasbutton)).
|
||
|
||
### ONCOLLISION
|
||
|
||
Wywoływany po wykryciu rozpoczęcia kolizji.
|
||
|
||
### ONCOLLISIONFINISHED
|
||
|
||
Wywoływany po zakończeniu kolizji.
|
||
|
||
### ONDONE
|
||
|
||
Wywoływany po zakończeniu wszystkich zdarzeń animacji.
|
||
|
||
### ONFINISHED
|
||
|
||
Wywoływany po zakończeniu odtwarzania zdarzenia. Sygnał jest [parametryzowany](../engine/events.md#sygnaly-parametryzowane) nazwą zdarzenia, więc można podpiąć handler dla konkretnego zdarzenia:
|
||
|
||
```
|
||
ANIMACJA:ONFINISHED^IDLE=BEHAFTERIDLE
|
||
```
|
||
|
||
### ONFIRSTFRAME
|
||
|
||
Wywoływany po odtworzeniu pierwszej klatki zdarzenia.
|
||
|
||
### ONFOCUSON
|
||
|
||
Wywoływany po najechaniu kursorem na animację, jeżeli jest ustawiona jako przycisk.
|
||
|
||
### ONFOCUSOFF
|
||
|
||
Wywoływany po zjechaniu kursorem z animacji, jeżeli jest ustawiona jako przycisk.
|
||
|
||
### ONFRAMECHANGED
|
||
|
||
Wywoływany po zmianie klatki animacji.
|
||
|
||
### ONINIT
|
||
|
||
Wywoływany w momencie inicjalizacji obiektu.
|
||
|
||
### ONPAUSED
|
||
|
||
Wywoływany po wstrzymaniu animacji metodą [`PAUSE`](#pause).
|
||
|
||
### ONRELEASE
|
||
|
||
Wywoływany po zwolnieniu przycisku myszy nad animacją ustawioną jako przycisk.
|
||
|
||
### ONRESUMED
|
||
|
||
Wywoływany po wznowieniu animacji metodą [`RESUME`](#resume).
|
||
|
||
### ONSIGNAL
|
||
|
||
Wywoływany po otrzymaniu sygnału (zobacz [Zdarzenia i sygnały](../engine/events.md#onsignal)).
|
||
|
||
### ONSTARTED
|
||
|
||
Wywoływany po rozpoczęciu odtwarzania zdarzenia. Sygnał emitowany jest po [`ONFRAMECHANGED`](#onframechanged) dla pierwszej klatki zdarzenia.
|