Construct 2 - poradnik dla początkujących

4

Index

Tagged

Stats

156,827 visits, 182,507 views

Tools

Translations

License

This tutorial is licensed under CC BY 4.0. Please refer to the license text if you wish to reuse, share or remix the content contained within this tutorial.

Published on 22 Mar, 2013. Last updated 25 Feb, 2019

Zdarzenia

Kliknij kartę Event sheet 1 (Arkusz zdarzeń 1) na górze aby przejść do edytora arkusza zdarzeń. Lista zdarzeń jest nazywana arkuszem zdarzeń. Możesz utworzyć kilka arkuszy zdarzeń dla poszczególnych części gry lub dla porządku. Do arkuszy zdarzeń można "dołączać" inne arkusze zdarzeń, co pozwala na przykład na ponowne wykorzystywanie zdarzeń w poszczególnych poziomach gry, ale teraz nie jest nam to potrzebne.

O zdarzeniach

Jak sugeruje tekst w pustym arkuszu zdarzeń, Construct 2 uruchamia wszystko w arkuszu zdarzeń raz na tyknięcie. Większość monitorów odświeża obraz 60 razy na sekundę, więc Construct 2 postara się do tego dopasować aby uzyskać płynny obraz. Oznacza to, że arkusz zdarzeń jest zazwyczaj uruchamiany 60 razy na sekundę, odświeżając za każdym razem ekran. Tym właśnie jest tyknięcie - jednostką podczas której wykonywane są zdarzenia i odświeżany jest ekran.

Zdarzenia są wykonywane od góry do dołu, co oznacza, że zdarzenia na górze arkusza zdarzeń są wykonywane w pierwszej kolejności.

Warunki, akcje i podzdarzenia

Zdarzenia składają się z warunków, które sprawdzają czy spełnione są określone kryteria, np. "Czy jest przytrzymana spacja?". Jeśli wszystkie te warunki są spełnione, wykonywane są akcje zdarzenia, np. "Stwórz pocisk". Po wykonaniu akcji są wykonywane podzdarzenia, które sprawdzają więcej warunków, uruchamiają więcej akcji i podzdarzeń i tak dalej. System ten pozwala na tworzenie zaawansowanej funkcjonalności w grach i aplikacjach, ale w tym samouczku nie będziemy potrzebować podzdarzeń.

Powtórzmy jeszcze raz. Krótko mówiąc, zdarzenie działa tak:

Czy wszystkie warunki są spełnione?

---> Tak: wykonaj wszystkie akcje zdarzenia.

---> Nie: przejdź do kolejnego zdarzenia (pomijając podzdarzenia).

Trochę za bardzo to uprościliśmy. Construct 2 posiada mnóstwo funkcji w zdarzeniach, oferując wiele rzeczy, które mogą Ci być potrzebne. Na razie warto o tym pomyśleć w ten sposób.

Twoje pierwsze zdarzenie

Chcemy aby postać gracza patrzyła w stronę kursora myszy. Gdy skończymy, będzie to wyglądać tak:

Pamiętaj, że tyknięcie jest wykonywane za każdym razem gdy ekran jest odświeżony, więc jeśli postać gracza będzie obracać się w stronę kursora myszy przy każdym tyknięciu, zawsze będzie zwrócona w jego kierunku.

Stwórzmy nasze zdarzenie. Kliknij dwukrotnie wolne miejsce w arkuszu zdarzeń. Zostaniemy poproszeni o dodanie warunku do zdarzenia.

Różne obiekty mają różne warunki i akcje w zależności od tego co mogą robić. Mamy też obiekt systemowy (System object), który reprezentuje funkcjonalność wbudowaną w Construct 2. Kliknij dwukrotnie obiekt systemowy. W oknie zostanie wyświetlona lista wszystkich zdarzeń dla obiektu systemowego:

Kliknij dwukrotnie zdarzenie Every tick (Przy każdym tyknięniu) aby je wstawić. Okno zostanie zamknięte i zostanie utworzone zdarzenie bez akcji. Powinno wyglądać to tak:

Teraz chcemy dodać akcję, które sprawi, że postać gracza będzie zwrócona w stronę kursora myszy. Kliknij odnośnik Add action (Dodaj akcję) po prawej od zdarzenia (uważaj aby nie kliknąć odnośnika Add event (dodaj zdarzenie), który doda zupełnie inne zdarzenie zamiast akcji). Zostanie wyświetlone okno dodawania akcji:

Tak jak podczas dodawania zdarzenia mamy listę obiektów, ale tym razem służy ona do dodawania akcji. Staraj się nie mylić dodawania warunków z dodawaniem akcji! Kliknij dwukrotnie obiekt Gracz - chcemy aby to właśnie on był zwrócony w stronę kursora myszy. Zostanie wyświetlona lista dostępnych akcji dla postaci gracza:

Zauważ, że zachowaniu ruchu 8-kierunkowego ma swoje własne akcje. Teraz jednak nie musimy się tym przejmować.

Zamiast ustawiać kąt postaci gracza na liczbę stopni lepiej użyć akcji Set angle towards position (Ustaw kąt w stronę pozycji). To automatycznie obliczy kąt między postacią gracza a danymi współrzędnymi X i Y i ustawi ten kąt postaci gracza. Kliknij dwukrotnie akcję Set angle towards position.

Construct 2 musi teraz poznać współrzędne X i Y aby obrócić postać gracza:

Są to parametry akcji. Warunki też mogą mieć parametry, ale warunek Every tick ich nie potrzebuje.

Chcemy ustawić kąt w stronę kursora myszy. Obiekt Mouse może nam dostarczyć to czego potrzebujemy. Wprowadź Mouse.X jako parametr X i Mouse.Y jako parametr Y. Są to wyrażenia. Wyrażenia są obliczanymi działaniami. Na przykład równie dobrze możesz wprowadzić Mouse.X + 100 lub sin(Mouse.Y) (chociaż w tym wypadku te przykłady nie są specjalnie użyteczne!). W ten sposób możesz wykorzystać dowolne dane z dowolnego obiektu lub dowolne obliczenie aby uzyskać parametry dla akcji i warunków. Jest to bardzo potężna funkcja, w pewnym sensie będąca ukrytym źródłem znacznej części elastyczności Construct 2.

Otrzymałeś błąd "Mouse is not an object name"? Upewnij się, że dodałeś obiekt myszy! Wróć do strony 2. i sprawdź sekcję "Dodawanie obiektów dla urządzeń wejścia".

Zastanawiasz się pewnie jak masz zapamiętać te wszystkie wyrażenia, które możesz wprowadzić. Na szczęście nad oknem parametrów znajduje się panel obiektów. Domyślnie jest on półprzezroczysty aby Cię nie rozpraszał.

Wskaż go kursorem myszy lub kliknij na nim, a stanie się nieprzezroczysty. Stanowi on zbiór wszystkich wyrażeń, których możesz użyć, wraz z opisami aby pomóc Ci zapamiętać. Po dwukrotnym kliknięciu obiektu zobaczysz listę wszystkich jego wyrażeń. Podwójne kliknięcie wyrażenia wstawi je do parametru abyś nie musiał przepisywać go sam.

Kliknij przycisk Done w oknie parametrów. Akcja została dodana! Jak widziałeś wcześniej, powinno ono wyglądać tak:

Oto Twoje pierwsze zdarzenie! Spróbuj uruchomić grę. Postać gracza powinna być w stanie się poruszać, patrząc w stronę kursora myszy. To pierwszy kawałek naszej własnej funkcjonalności.

  • 1 Comments

  • Order by
Want to leave a comment? Login or Register an account!