Finished automatically generated docs
Time to correct it by itself
This commit is contained in:
300
docs/pl/reference/INERTIA.md
Normal file
300
docs/pl/reference/INERTIA.md
Normal file
@@ -0,0 +1,300 @@
|
||||
# INERTIA
|
||||
|
||||
Interfejs do wbudowanego silnika fizycznego 2D o tej samej nazwie (Inertia). Zarządza ciałami sztywnymi: tworzeniem obiektów, ich wiązaniem z animacjami, polem grawitacji, prędkościami, tłumieniem i przykładaniem sił. Wykorzystany w *Reksio i Kretes w Akcji*.
|
||||
|
||||
Każdy obiekt fizyczny ma identyfikator (`objectId`) — wartość całkowitą używaną przez większość metod do wskazania ciała. Plik definiujący świat fizyczny ma rozszerzenie [`.INE`](../engine/index.md) i jest ładowany jednorazowo metodą [`LOAD`](#load).
|
||||
|
||||
## Metody
|
||||
|
||||
### ADDFORCE
|
||||
|
||||
```
|
||||
void ADDFORCE(INTEGER objectId, INTEGER forceX, INTEGER forceY)
|
||||
```
|
||||
|
||||
Przykłada siłę do obiektu w osiach X i Y.
|
||||
|
||||
**Parametry**
|
||||
|
||||
- `objectId` — identyfikator obiektu.
|
||||
- `forceX`, `forceY` — składowe siły.
|
||||
|
||||
**Przykłady**
|
||||
|
||||
```
|
||||
EXTWORLD^ADDFORCE(1,-500,0);
|
||||
EXTWORLD^ADDFORCE(1,0,-50);
|
||||
```
|
||||
|
||||
### CREATESPHERE
|
||||
|
||||
```
|
||||
void CREATESPHERE(INTEGER objectId, INTEGER posX, INTEGER posY, INTEGER radius)
|
||||
```
|
||||
|
||||
Tworzy w silniku fizycznym sferę o podanej pozycji środka i promieniu, przypisując jej wskazany identyfikator.
|
||||
|
||||
**Parametry**
|
||||
|
||||
- `objectId` — identyfikator nowego obiektu.
|
||||
- `posX`, `posY` — pozycja środka sfery.
|
||||
- `radius` — promień sfery.
|
||||
|
||||
**Przykłady**
|
||||
|
||||
```
|
||||
EXTWORLD^CREATESPHERE(5,10,10,10);
|
||||
```
|
||||
|
||||
### DELETEBODY
|
||||
|
||||
```
|
||||
void DELETEBODY(INTEGER objectId)
|
||||
```
|
||||
|
||||
Usuwa obiekt z silnika fizycznego.
|
||||
|
||||
**Parametry**
|
||||
|
||||
- `objectId` — identyfikator usuwanego obiektu.
|
||||
|
||||
**Przykłady**
|
||||
|
||||
```
|
||||
EXTWORLD^DELETEBODY(IHANDLEDEL);
|
||||
EXTWORLD^DELETEBODY(IRAKIETAOBJ);
|
||||
```
|
||||
|
||||
### GETPOSITIONX
|
||||
|
||||
```
|
||||
INTEGER GETPOSITIONX(INTEGER objectId)
|
||||
```
|
||||
|
||||
Zwraca aktualną pozycję X obiektu o podanym identyfikatorze.
|
||||
|
||||
**Parametry**
|
||||
|
||||
- `objectId` — identyfikator obiektu.
|
||||
|
||||
**Zwraca**: [`INTEGER`](INTEGER.md) — koordynata X.
|
||||
|
||||
### GETPOSITIONY
|
||||
|
||||
```
|
||||
INTEGER GETPOSITIONY(INTEGER objectId)
|
||||
```
|
||||
|
||||
Zwraca aktualną pozycję Y obiektu o podanym identyfikatorze.
|
||||
|
||||
**Parametry**
|
||||
|
||||
- `objectId` — identyfikator obiektu.
|
||||
|
||||
**Zwraca**: [`INTEGER`](INTEGER.md) — koordynata Y.
|
||||
|
||||
### GETSPEED
|
||||
|
||||
```
|
||||
DOUBLE GETSPEED(INTEGER objectId)
|
||||
```
|
||||
|
||||
Zwraca prędkość obiektu o podanym identyfikatorze (długość wektora prędkości liniowej).
|
||||
|
||||
**Parametry**
|
||||
|
||||
- `objectId` — identyfikator obiektu.
|
||||
|
||||
**Zwraca**: [`DOUBLE`](DOUBLE.md) — wartość prędkości.
|
||||
|
||||
### LINK
|
||||
|
||||
```
|
||||
void LINK(INTEGER objectId, STRING animoName, BOOL flag1, BOOL flag2)
|
||||
```
|
||||
|
||||
Wiąże obiekt fizyczny z animacją [`ANIMO`](ANIMO.md) — pozycja animacji jest aktualizowana na podstawie symulacji fizyki. Znaczenie obu flag boolowskich nie zostało jeszcze ustalone (w grach zawsze podawane są jako `TRUE`).
|
||||
|
||||
**Parametry**
|
||||
|
||||
- `objectId` — identyfikator obiektu fizycznego.
|
||||
- `animoName` — nazwa zmiennej [`ANIMO`](ANIMO.md).
|
||||
- `flag1`, `flag2` — flagi konfiguracyjne (znaczenie nieustalone).
|
||||
|
||||
**Przykłady**
|
||||
|
||||
```
|
||||
EXTWORLD^LINK(1,"ANNSZCZUREK",TRUE,TRUE);
|
||||
EXTWORLD^LINK(IOBIEKT,["ANNSTRZAL_"+ISTRZAL],TRUE,TRUE);
|
||||
```
|
||||
|
||||
### LOAD
|
||||
|
||||
```
|
||||
void LOAD(STRING path)
|
||||
```
|
||||
|
||||
Ładuje plik `.INE` z definicją świata fizycznego.
|
||||
|
||||
**Parametry**
|
||||
|
||||
- `path` — ścieżka do pliku `.INE`.
|
||||
|
||||
**Przykłady**
|
||||
|
||||
```
|
||||
EXTWORLD^LOAD("WORLD.INE");
|
||||
```
|
||||
|
||||
### RESETTIMER
|
||||
|
||||
```
|
||||
void RESETTIMER()
|
||||
```
|
||||
|
||||
Resetuje wewnętrzny zegar symulacji.
|
||||
|
||||
**Przykłady**
|
||||
|
||||
```
|
||||
EXTWORLD^RESETTIMER();
|
||||
```
|
||||
|
||||
### SETGRAVITY
|
||||
|
||||
```
|
||||
void SETGRAVITY(DOUBLE gravityX, DOUBLE gravityY)
|
||||
```
|
||||
|
||||
Ustawia globalny wektor grawitacji. Wartość `(0, 0)` wyłącza grawitację.
|
||||
|
||||
**Parametry**
|
||||
|
||||
- `gravityX`, `gravityY` — składowe grawitacji.
|
||||
|
||||
**Przykłady**
|
||||
|
||||
```
|
||||
EXTWORLD^SETGRAVITY(0,0);
|
||||
```
|
||||
|
||||
### SETLINEARDAMPING
|
||||
|
||||
```
|
||||
void SETLINEARDAMPING(INTEGER objectId, INTEGER linearDamping)
|
||||
```
|
||||
|
||||
Ustawia tłumienie liniowe (stopniowe spowalnianie prędkości liniowej) dla obiektu.
|
||||
|
||||
**Parametry**
|
||||
|
||||
- `objectId` — identyfikator obiektu.
|
||||
- `linearDamping` — wartość tłumienia.
|
||||
|
||||
**Przykłady**
|
||||
|
||||
```
|
||||
EXTWORLD^SETLINEARDAMPING(1,300);
|
||||
```
|
||||
|
||||
### SETMATERIAL
|
||||
|
||||
```
|
||||
void SETMATERIAL(INTEGER objectId, STRING material)
|
||||
```
|
||||
|
||||
Ustawia materiał obiektu. Materiały kontrolują, w jaki sposób obiekty reagują na kontakt (sztywność, sprężystość, tarcie). W skryptach gier spotykana jest m.in. nazwa `"TRIGGER"`, dla której silnik wywołuje na powiązanej animacji sygnał `ONSIGNAL^TRIGGER`.
|
||||
|
||||
**Parametry**
|
||||
|
||||
- `objectId` — identyfikator obiektu.
|
||||
- `material` — nazwa materiału.
|
||||
|
||||
**Przykłady**
|
||||
|
||||
```
|
||||
EXTWORLD^SETMATERIAL(IOBIEKT,"TRIGGER");
|
||||
```
|
||||
|
||||
### SETPOSITION
|
||||
|
||||
```
|
||||
void SETPOSITION(INTEGER objectId, INTEGER posX, INTEGER posY)
|
||||
```
|
||||
|
||||
Ustawia bezwzględną pozycję obiektu w świecie fizycznym.
|
||||
|
||||
**Parametry**
|
||||
|
||||
- `objectId` — identyfikator obiektu.
|
||||
- `posX`, `posY` — nowa pozycja.
|
||||
|
||||
**Przykłady**
|
||||
|
||||
```
|
||||
EXTWORLD^SETPOSITION(IOBIEKT,[ANNSZCZUREK^GETCENTERX()+70],[ANNSZCZUREK^GETCENTERY()-1]);
|
||||
EXTWORLD^SETPOSITION(IRAKIETAOBJ,ANNDODATKI_7^GETPOSITIONX(),ANNDODATKI_7^GETPOSITIONY());
|
||||
```
|
||||
|
||||
### SETVELOCITY
|
||||
|
||||
```
|
||||
void SETVELOCITY(INTEGER objectId, INTEGER speedX, INTEGER speedY)
|
||||
```
|
||||
|
||||
Ustawia prędkość obiektu w osiach X i Y.
|
||||
|
||||
**Parametry**
|
||||
|
||||
- `objectId` — identyfikator obiektu.
|
||||
- `speedX`, `speedY` — składowe prędkości.
|
||||
|
||||
**Przykłady**
|
||||
|
||||
```
|
||||
EXTWORLD^SETVELOCITY(1,0,0);
|
||||
EXTWORLD^SETVELOCITY(IOBIEKT,8,0);
|
||||
```
|
||||
|
||||
### TICK
|
||||
|
||||
```
|
||||
void TICK()
|
||||
```
|
||||
|
||||
Wykonuje pojedynczy krok symulacji. Bez wywołania `TICK` świat fizyczny pozostaje zamrożony — typowo wywoływane z sygnału [`ONTICK`](TIMER.md#ontick) [`TIMER`](TIMER.md).
|
||||
|
||||
**Przykłady**
|
||||
|
||||
```
|
||||
EXTWORLD^TICK();
|
||||
```
|
||||
|
||||
### UNLINK
|
||||
|
||||
```
|
||||
void UNLINK(INTEGER objectId)
|
||||
```
|
||||
|
||||
Zrywa powiązanie obiektu z animacją utworzone metodą [`LINK`](#link).
|
||||
|
||||
**Parametry**
|
||||
|
||||
- `objectId` — identyfikator obiektu.
|
||||
|
||||
**Przykłady**
|
||||
|
||||
```
|
||||
EXTWORLD^UNLINK(IID);
|
||||
EXTWORLD^UNLINK(1);
|
||||
```
|
||||
|
||||
## Sygnały
|
||||
|
||||
### ONINIT
|
||||
|
||||
Wywoływany w momencie inicjalizacji obiektu.
|
||||
|
||||
### ONSIGNAL
|
||||
|
||||
Wywoływany po otrzymaniu sygnału (zobacz [Zdarzenia i sygnały](../engine/events.md#onsignal)).
|
||||
Reference in New Issue
Block a user