Niekonwencjonalne przejścia, część 2

 

autor: misieksamgame


  

Witam w drugiej części kursu niekonwencjonalnych przejść. Od razu przejdziemy do rzeczy, czyli do stworzenia przejścia kafelkowego.

 

Umożliwia ono zasłonięcie za pomocą kwadratów pola gry. Stworzyłem level o wymiarach 320x200. Wstawiamy obiekt aktywny z naszym kafelkiem. Mój ma wymiary 20x20 i przedstawia krówkę na zielonym tle . Pamiętajmy by Hot Spot i Action Point były ustawione w pozycji 0,0. Ustawiamy kafelek poza obszarem gry i przechodzimy do zdarzeń:

 

 

Always:

Create object "Kafelek" at –100;-100

Kafelek -> Set X position to Random (16)*20

               Set Y position to Random (10)*20

               Paste image into background

               Destroy

 

 

Warunek tworzy Kafelek poza obszarem gry. Potem ustawia go w pozycji losowej w odległości x razy 20 od brzegu ekranu. Dzięki temu kafelki tworzone są w równych odstępach. Dlaczego losowanie odbywa się w zakresie 0-16? Ponieważ 320 (szerokość okna)/16 daje 20, czyli szerokość kafelka. Analogicznie postępuje się z pionem. Teraz wklejamy kafelek w tło i go niszczymy, gdyż można stworzyć tylko 256 kafelków (o ile gra jest pusta). Tu pojawia się pytanie: Dlaczego je niszczymy, skoro potrzeba nam tylko 16*10=160 kafelków? Otóż kafelki często tworzone są jeden na drugim, my tego nie zauważamy, a liczba 256 obiektów może być w tym momencie przekroczona.

 

Zapewne zauważyłeś, że tworzenie kafelków jest nieco wolne. Możesz skopiować warunek, lub zaprzęgnąć do niego Fast Loopa.

 

Kafelki mogą być tworzone również w inny sposób. Obiektami aktywnymi mogą być kółka, a losowanie ich pozycji odbywać się może w ten sposób:

 

 

Always:

Create object "Kafelek" at –100;-100

Kafelek -> Set X position to Random 320

               Set Y position to Random 200

               Paste image into background

               Destroy

 

 

Wtedy kółka są dowolnie rozrzucane i otrzymujemy równie ciekawy efekt.

 

 

Drugim typem przejścia, jaki dziś opiszę jest zasłanianie. Wstawiamy obiekt aktywny w formie kwadratu o wymiarach 20x20 w tej samej ramce co poprzednio. Obiektowi ustawiamy ruch odbijającej się piłki z prędkością 50 i początkowym kierunkiem w prawo. Ustawiamy kilka kopii obiektu jak na rysunku. W zdarzeniach wstawiamy:

 

 

Always:

Klocek-> Paste image into background

 

 

Efekt działa, w moim przypadku ramka zasłonięta jest na zielono. Można również ustawić hamowanie obiektów, wtedy efekt będzie jeszcze ładniejszy. Jeżeli zauważyłeś, że klocki nie przykrywają poziomu w całości (zostają nie zasłonięte pola), spróbuj zmniejszyć ich prędkość, bądź do wklejania użyj Fast Loopa. Oczywiście klocki można układać w różne wzory, i ustawiać ruch w różnych kierunkach. Można też pokusić się o ustawienie, że klocki mają szerokość okna (czyli mają wymiary np. 320x20), nie wklejają się w tło i przedstawiają jakiś obrazek. Wystarczy dołożyć zdarzenie:

 

 

"Belka" leaves the play area:

Stop

 

a otrzymamy efekt składania się z pasów poziomych zdjęcia.

 

To tyle na ten numer, w następnym być może opiszę kolejne przejścia niekonwencjonalne.

 

 

 

by pepe9donkey