Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Nekonečný sprite - game maker

Nasledujúci tutoriál vám ukáže ako urobiť ilúziu nekonečne dlhého Spritu. Možnosti využitia určite vymyslíte samy. Dalo by sa to využiť ako dekoratívne pruhy v menu, skrolující nápisy ...
Takže čo všetko budeme potrebovať? Hlavné je sprite. Sprite musí byť väčšia, alebo rovnako veľký ako je room. Síce píšem väčší, ale stačí keď väčšie v smere pohybu; tj. pre vodorovný pohyb širšie a pre vertikálny pohyb vyššia. Origin Spritu nastavíme ľubovoľne. Avšak z dôvodu pozicovanie v Room Editore bude najlepší origin vycentrovať. Ďalej budeme potrebovať jeden objekt - obj_scroll. Objektu priradíme náš sprite.

Nasledujúci kód je určený pre vodorovný posun!
V Create nastavíme rýchlosť pohybu:

hspeed = 5;//rychlost je libovolná

A do Stepu vložíme nasledujúci kód:

if(hspeed > 0){
   if(x>=room_width+sprite_xoffset)
      x -= 2*sprite_width;
} else {
   if(x<=-sprite_width+sprite_xoffset)
      x += 2*sprite_width;
}

Ak viete, že hspeed bude stála, je možné vynechať jednu vetvu podmienky. Nepatrne sa tým zníži náročnosť kódu.

Nasledujúci kód je určený pre zvislý posun!
V Create nastavíme rýchlosť pohybu:

vspeed = 5;//rychlost je libovolná

A do Stepu vložíme nasledujúci kód:

if(vspeed > 0){
   if(y>=room_height+sprite_yoffset)
      y -= 2*sprite_height;
} else {
   if(y<=-sprite_height+sprite_yoffset)
      y += 2*sprite_height;
}

Ak viete, že vspeed bude stála, je možné vynechať jednu vetvu podmienky. Nepatrne sa tým zníži náročnosť kódu.

To najdôležitejšie príde nakoniec. Umiestnenie inštancií do roomu. V room editore musíme umiestniť dve inštancie objektu obj_scroll a to takým spôsobom, aby vyplnili celú šírku / výšku roomu. Toho najlepšie dosiahneme tak, že obe inštancie budú na krajoch presahovať mimo room.

Je absolútne nevyhnutné, aby obe inštancie presne lícovali; tj. nesmie medzi nimi byť medzera, ani sa nesmie prekrývať! To by malo za následok nevzhľadnú medzeru.


 

Všetky články v sekcii
Game maker - Efekty
Článok pre vás napísal sutr90
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Aktivity