« Előző oldal- - - ^Tartalom^- - - Következő oldal »
12.1 fejezet
Mozgási akciók
Az akciók első csoportja az objektumok
mozgatására vonatkoznak. Ezek a következők:
Start moving in direction
Ezt az akciót használva az objektum egy adott irányba kezd el
mozogni. Az irányt a nyilak használatával adhatod meg.
Használd a középső gombot az objektum megállításához. A
mozgás sebességét is meg kell határoznod. A sebesség
képpont/lépésban van megadva. Az alapértelmezés a 8
pixel/lépés. Ne használj negatív értéket. Több irányt is
megadhatsz, ilyenkor az irány véletlenszerűen választódik ki
a megadottak közül. Így például egy szörnyet
véletlenszerűen jobbra vagy balra is mozgathatsz.
Set direction and speed of motion
Ez a másik lehetőség a mozgás irányának megadásához. Itt
pontos irányt adhatsz meg. Ez egy 0 és 360 fok között lévő
szög. A 0 fok a jobbra. A mozgás az óramutató járásával
ellentétes. Így például a 90 fok jelenti a fel irányt. Ha
véletlenszerű irányt akarsz gépeld be hogy random(360).
Ahogy később látni fogod, a random függvény egy
véletlenszerű számot ad, amely kisebb mint az adott szám.
Ahogy említettem, itt van a Relative jelölőnégyzet.
Ezt kipipálva az új irány az előzőhöz adódik hozzá.
Például ha egy példány felfelé mozog és hozzáadsz egy kis
balra mozgást, a példány balra felfelé fog mozogni.
Move towards point
Ez az iránymeghatározás egy másik módja. Meg kell adni egy
helyet és egy sebességértéket, és a példány abba az
irányba kezd mozogni az adott sebességgel. (Az adott pontban
nem fog megállni!) Például ha azt akarod, hogy a lövedék az
űrhajó poziciója felé mozogjon, használhatjuk az urhajo.x,
urhajo.y iránymeghatározást. (Az ehhez hasonló
változókról a továbbiakban tanulunk bővebben.) Ha a Relative
négyzet ki van pipálva, a példány jelenlegi poziciójához
képest adjuk meg az irányt. (A sebesség nem lesz relatív!)
Set the horizontal speed
A példányok sebessége egy függőleges és egy vízszintes
összetevőből adódik össze. Ezzel az akcióval a sebesség
vízszintes összetevőjét állíthatod be. A pozitív
vízszintes sebesség a jobbra mozgást jelenti, a negatív
érték a balra mozgást. A sebesség függőleges összetevője
változatlan marad. A vízszintes sebesség növeléséhez
használj relatív pozitív, a csökkentéséhez relatív
negatív értéket.
Set the vertical speed
Ugyanaz mint az előző, csak a sebesség függőleges
összetevőjére vonatkozik.
Set the gravity
Ezzel az akcióval gravitációt adhatsz az adott objektumhoz.
Meg kell adnod egy irányt (egy szög 0 és 360 fok között) és
egy sebességet, és ezután lépésenként ezzel a sebességgel
fog nőni az adott irányba az példány sebessége. Általában
csak kis sebességnövelésre van szükség (pl. 0.01).
Általában a lefelé irányt használod (270 fok). Ha kipipálod
a Relative négyzetet, növeled a gravitációs
sebességet és irányt. A valós élettel ellentétben itt a
tárgyakra más-más irányú gravitációs erő hathat.
Reverse horizontal direction
Ezzel az akcióval a vízszintes irányú mozgást fordíthatod
meg, például ha az objektum egy függőleges fallal ütközik.
Reverse vertical direction
Ezzel az akcióval a függőleges irányú mozgást fordítjuk
meg, például ha az objektum egy vízszintes fallal ütközik.
Set the friction
A súrlódás mozgás közben lassítja a példányt. A
súrlódást megközelítőleg határozod meg. Ez a mennyiség
minden lépésben kivonódik az aktuális sebességből, amíg az
0 nem lesz. Általában itt is kis számot használunk (pl.
0.01).
Jump to a given position
Ezzel az akcióval különböző pozícióba helyezheted a
példányt. Csak az x és y koordinátákat kell megadni és a
példány oda mozog el. A Relative négyzetet kipipálva
az új pozició a jelenlegihez viszonyított lesz. Ez az akció
gyakran használt egy példány folyamatos mozgatásához, pl.
minden lépésben növeljük egy kicsit a helyzetét.
Jump to the start position
Ez az akció a példányt abba a pozícióba helyezi át, ahol az
létrejött.
Jump to a random position
Ez az akció a példányt a szoba egy véletlenszerű pontjára
helyezi. Csak olyan poziciók választódnak ki, ahol az objektum
nem ütközik tömör objektummal. Meg tudsz határozni egy
hálózatot, amire a példány illeszkedni fog. Ha pozitív
értéket adunk meg, a koordináták az adott érték pozitív
többszörösei lehetnek. Ez például arra használható, ha a
játékban a példányokat adott cellákban akarod tartani.
Eltérő függőleges és vízszintes értékeket adhatsz meg.
Snap to grid
Ezzel az akcióval a példányt egy háló közepére
igazíthatod. A függőleges és vízszintes értékeket is
beállíthatod (ezek a hálózat celláinak értékei). Ez nagyon
hasznos, ha a példányokat egy szabályos hálózatra akarod
helyezni.
Wrap when moving outside
Ezzel az akcióval lehetővé tehető egy példány számára,
hogy amikor a szobát elhagyja valamelyik oldalon, akkor ismét
feltűnjön a másik oldalon. Ez az akció rendszerint a kint
(Outside) eseményben használatos. Jegyezd meg,
hogy a működéséhez a példánynak lennie kell valamilyen
sebességének, és a felbukkanás iránya a mozgás irányán
alapul. Megadhatod, hogy a felbukkanás csak vízszintes, csak
függőleges, vagy mindkét irányba megtörténhessen.
Move to contact position
Ezzel az akcióval mozgatható egy példány az adott irányba,
míg el nem éri egy objektum érintkezési pozícióját. Ha
már bekövetkezett egy ütközés a pillanatnyi helyen, akkor a
példány nem mozog, egyébként az új helyére kerül.
Meghatározható az irány, és egy maximális távolság a
mozgáshoz. Például amikor egy példány zuhan, mozgathatod
lefelé egy maximális távolságra, míg el nem ér egy
objektumot. Ezt az akciót jellemzően az ütközés eseménybe
helyezed el, hogy megbizonyosodj arról, hogy a példány megáll
a másik példánnyal való érintkezéskor az ütközés
esetén.
Bounce against objects
Ha valamelyik objektum ütközési eseményéhez rendeled ezt az
akciót, a példányok természetes módon fognak visszapattanni.
Ha a precise paramétert false-ra (hamis) állítjuk,
csak a függőleges és vízszintes falak esetében működik
jól. Ha a paramétert true-ra (igaz) állítjuk, görbe, ívelt
falak esetében is helyesen működik. Ez elég lassú. Azt is
beállíthatjuk, hogy a visszapattanás csak tömör, vagy nem
csak tömör objektumokra vonatkozik. Vedd észre, hogy a
visszapattanás nem teljesen valósághű, mert ez sok
tulajdonságtól függ. De sok helyzetben elég jól működik.