You are on page 1of 33

Zajęcia 3

Moja pierwsza gra


Naszym zadaniem na trzecich zajęciach było dokończenie
projektu, sprawienie, aby bohater przegrywał, gdy dotknie
Zajęcia 3 go przeszkoda oraz wykonanie prostego menu, które pozwoli
nam na grę cały czas bez przerywania.

To już Czy znam Chcę coś


potrafię! odpowiedź? powtórzyć Słowniczek Wyzwanie
Czego nauczyliśmy się
na zajęciach?
tworzenia prostego menu,

dodawania Node'a "CanvasLayer",

dołączać do Node'a kolejnych Node'ów: "Label", "Button" oraz "Timer",

tworzenie działającego przycisku,

dodawania sygnałów do kodów,

blokowania ekranu gry, aby się nie rozszerzał,

wyeksportowania gotowej gry na komputer.


Jaki fragment chcesz powtórzyć?

Chcę stworzyć Chcę, aby pociski Chcę dodać Chcę, aby znikał
proste menu pojawiały się po kod do sygnały gracz po kontakcie
kliknięciu w guzik przycisku z pociskami

Chcę utworzyć Chcę, aby gra się Chcę zablokować


kod do resetowała ekran
przegrywania

Jak wyeksportować projekt?


Zadanie 1
Dodaj do nowego węzła "HUD" następujące obiekty: dwa
razy "Label”, raz "Button” i "Timer". System węzłów
powinien wyglądać w następujący sposób:
Zadanie 1
Zmień nazwy elementów. "Label” oraz "Label2”
przemień na "ScoreLabel” oraz "Message”,
"Button” na "StartButton”, a ostatni element,
czyli "Timer”, zmień na "MessageTimer”.
Zadanie 1
Przejdź do inspektora, aby ustawić odpowiednie parametry
wyświetlanych elementów.

Zacznij od tekstu. Wpisz tam jedynie 0, ponieważ to będzie


początkowa ilość punktów oraz w "Horizontal Align”
wybierz "Center”. Inspektor powinien wyglądać w
następujący sposób:
Zadanie 1
Podobnie zrób z "Messange”. W inspektorze wpisz tekst np.
"Uwaga przeszkody!”, w "Horizontal Align” ustaw "Center”
i na końcu zaznacz ustaw "Autowrap Mode” na Word.
Zadanie 1
Z istotnych elementów został przycisk. Zacznij od wpisania
w inspektorze, w miejscu na tekst, "Start”.

Naciśnij w na klawiaturze, aby uruchomić tryb przesuwania i


przenieść wszystkie nowe elementy na środek. Po przesunięciu
będzie wyglądać w ten sposób:

Po przesunięciu możesz nacisnąć s, aby przeskalować


elementy i na koniec q, aby wrócić do normalnego trybu.
Zadanie 1
Pozostało jeszcze ustawić "MessageTimer”.

Aby to zrobić, kliknij w niego i w inspektorze zmień "Wait


Time” na 2 oraz "One Shot” na włączony.
Będzie to stoper, który ustala, jak długo będzie
wyświetlała się wiadomość po przegranej.
Zadanie 2
W kolejnym kroku musisz sprawić, aby pociski
pojawiały się dopiero po kliknięciu w guzik
"StartButton".

W tym celu przejdź do inspektora "Timer" i


odznacz właściwość "autostart".
Zadanie 2
Dodaj sygnał "pressed()",
który znajdziesz z prawej
strony w właściwościach
przycisku "StartButton" w
zakładce "Węzeł". Połącz
go z głównym węzłem
"World" i przejdź dalej.
Zadanie 2
Zamiast słowa "pass" w funkcji
"_on_start_button_pressed()" umieść
kod "timer.start()", który sprawi, że stoper
będzie uruchamiał się automatycznie po
kliknięciu w przycisk.

Wypróbuj grę i sprawdź czy pociski


pojawiają się poprawnie.
Zadanie 3
Dodaj kod do sygnału, który sprawi, że
reszta elementów menu zniknie
podczas klikania w przycisk oraz będzie
pojawiał się gracz:
Zadanie 4
Przejdź do sceny pocisków klikając "projectile.tscn"
w systemie plików oraz przejdź do kodu pocisków.
Następnie dodaj kod, który spowoduje, że gracz
będzie znikał, kiedy dotkną go pociski:
Zadanie 5
Pora na utworzenie kodu do przegrywania.

Przejdź do sceny "World.tscn", a następnie w systemie


węzłów kliknij na "Player". Po prawej stronie wybierz
zakładkę "Węzeł", a następnie kliknij na sygnał
"hidden()".

Połącz go z kodem "World".


Zadanie 5
W kodzie "World" w linijce 5 stwórz
nową zmienną "point", której ustaw
wartość 0 oraz w funkcji
"_on_timer_timeout()" dwie linijki
kodu:

Zamiast słowa "pass" w nowej


funkcji dodaj następujący kod:
Zadanie 6
Został już ostatni sygnał .

W systemie węzłów kliknij na "MessageTimer". Po prawej


stronie wybierz zakładkę "Węzeł", a następnie kliknij na
sygnał "timeout()".

Połącz go z kodem "World".


Zadanie 6
Musisz tu usunąć zawartość funkcji
"_on_message_timer_timeout()" i wpisać
polecenia, jakie mają się wykonać, gdy
stoper odliczy cały czas.
Zadanie 6
Sprawdź, czy wszystko działa wybierając główną
scenę jako scenę "World". Kliknij w przycisk do
uruchomienia gry oraz następnie "Wybierz aktualną".
Zadanie 7
Pozostanie tylko zablokowanie okna gry,
aby nie można było go rozciągać.

W tym celu kliknij w głównym menu "Projekt",


a następnie w "Ustawienia projektu...".
Zadanie 7
Otworzy się okno z ustawieniami projektu.
To, co Cię interesuje, jest po lewej stronie,
czyli "Wyświetlanie”, a w nim "Okno”.

Po kliknięciu odnajdź "Zmienny rozmiar”.


Odznacz to i teraz okno gry nie będzie się
rozszerzać.

Kliknij opcję "Zamknij", która znajduje


się na samym dole. Masz już w pełni
działającą grę.
Eksportowanie
projektu
Zostało już tylko jedno. Sprawić, by gracze nie mogli zmieniać
już gry.

W tym celu musisz ją wyeksportować. Jest to bardzo ważna


rzecz, bo bez tego każdy mógłby przekształcać zasady gry.
Aby wyeksportować grę w menu programu, wybierz

PROJEKT ➜ EKSPORT...

NASTĘPNIE ➜
Eksportowanie
projektu
Teraz musisz wskazać, na jaką platformę jest to gra.
Wybierz taką, której używasz.

Jeżeli po wyborze systemu na dole okienka


pojawi się informacja o braku szablonu przejdź
TUTAJ
Eksportowanie
projektu
Teraz musisz tylko nazwać grę. W polu "Nazwa"
ustalamy nazwę naszej gry oraz zaznaczamy
"Osadź PCK".

Teraz wystarcz kliknąć "Wyeksportuj projekt"


i wybrać gdzie chcesz, by gra się pojawiła
(automatycznie podpowiadany jest folder
z projektem gry, czyli:
Pulpit ➜ Tworzenie gier ➜ Pierwszy projekt).
UWAGA
Jeżeli po wybraniu systemu, na który chcesz
wyeksportować grę, pojawia Ci się komunikat taki
jak na zrzucie ekranu kliknij na tekst

"ZARZĄDZAJ SZABLONAMI EKSPORTU"


UWAGA
W oknie Menadżer szablonów eksportu wybierz
POBIERZ Z: NAJLEPSZY DOSTĘPNY MIRROR,
a następnie kliknij "POBIERZ I ZAINSTALUJ"
i poczekaj na zakończenie pobierania. Gdy już się
pobierze, kliknij Zamknij i wróć do eksportowania.
Słowniczek
używanych funkcji i zmiennych
LABEL - etykieta w grze, która odpowiada za wyświetlanie HIDE() - funkcja, która sprawia, że obiekt w grze jest
tekstu. niewidoczny.
BUTTON - przycisk w grze. Dzięki temu węzłowi możesz ONE SHOT - właściwość stoperów pozwalająca na użycie
sprawdzić, czy kliknięto w dany obiekt. danego stopera tylko raz.
ALIGN - wyrównanie tekstu, np. do środka lub prawej strony.
HUD - wyświetlacz niezasłaniający całego obrazu gry,
a jedynie wyświetlający niezbędne informacje.
SIGNAL - element naszego kodu pozwalający na stworzenie
konkretnego sygnału.
Kryj się!
Twoja gra została właśnie ukończona! Przed
tobą ostatnie wyzwanie. Zaproś rodzinę i
przyjaciół do wspólnej gry i zobacz, kto
przetrwa najdłużej jako kaczka, slime lub
statek.

ŚCIĄGNIJ ARKUSZ DO WYDRUKU


Pytania
sprawdzające

Do czego służy Jak można sprawić, aby Jakie polecenie służy


węzeł "Label"? stoper uruchomił się do ukrycia elementu
automatycznie? w grze?
1.Tworzenia prostego menu rozpoczynającego grę,
2.Dodawania bohatera do gry oraz zaprogramowania
dla niego sterowania,
3.Dołożenia do gry ścian i podłogi, co ogranicza obszar

Podsumowanie gry,
4.Zaaplikowania losowo generowanych przeszkód,

działu które znikają po kontakcie z podłogą,


5.Zmiany tekstur elementów gry,
Ta gra nauczyła Cię:
6.Definiowana dowolnych kształtów obszarów kolizji,
7.Usuwania elementów gry przy kontakcie z innymi
elementami.
Do zobaczenia
na zajęciach

You might also like