« 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.