klon asteroid w mniej niż 100 akcjach

1
  • 0 favoris

Index

Taggé

Statistiques

3,781 visites, 5,163 vues

Outils

Partager

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.

każda fala *

.. ° Wygląda na niektórych działań (asteroid trafiony, asteroidy, planetoidy zniszczony w kolizji ze statkiem, koniec fali, ruch statków, gracz naciska "Powrót" w "menu")

System audio jest rozłożone po drugiej stronie projektu.

To w dużej mierze opiera się na "[AUDIO] [27]" wtyczki. (Należy zapoznać się z ręcznego wprowadzania, a także wpis o [dźwiękiem i muzyką] [28]. Można również wybrać elementy w [jak mogę FAQ] [23] w sekcji "Audio")

Ten rodzaj wtyczki (jak klawiatura) jest automatycznie dostępna w całym projekcie.

Dźwięki użyte w projekcie są "zaopatrzony" w "Audio" i "Music" folderów w barze "[Project] [29]".

[Sounds] [65]

[Folder Muzyka] [66]

Pamiętaj, aby sprawdzić "[Dodawanie dźwięku - Poradnik dla początkujących] [30]", aby dowiedzieć się, jak dodawać dźwięki i muzyczki w C2, które mogą być używane z "Audio" obiektu.

Pamiętaj, że dźwięki mogą być napięte i powinny być małe / szybkich plików. Są one pobierane są jak duchy.

muzyczki w tle są przesyłane strumieniowo z którym projekt jest prowadzony i muszą być importowane w folderze muzycznym.

.. ° Użytkownik może wybrać, czy chce czy nie dźwięki (włącz / wyłącz)

Osiąga się to przez "prostego" sztuczki.

Globalna zmienna "Dźwięk" (w: "esScore") jest jedną z wartości 0 lub 1.

Gdy jest 1, oznacza to, że dźwięk / muzyka jest włączona, gdy jest 0 muzyka / dźwięk jest wyłączony.

I tak, w dowolnym miejscu w kodzie, co jest potrzebne działanie dźwięku, może już zauważyli warunek "System: Dźwięk = 1" jest używany (często jako grupą).

Na przykład w "esGame" zdarzenie 4. Gdy naciśnie graczem na klawisz "w górę", a zmiennej globalnej "dźwięk" jest równa 1, dźwięk jest odtwarzany.

Ponadto, w tym samym przykładzie, "System: spust" stan pozwala odtwarzać dźwięk tylko raz, a nie każdy kleszcz, że klucz jest w dół (co skutkowałoby wieloma próbkami są odtwarzane na wierzchu wzajemnie i ostatecznie nasycając kakofonia).

[Kod, który pozwala przełączyć dźwięk] [83]

Przełączanie między dźwiękiem / wyłączanie odbywa się w układzie wynik zdarzenia 15 "esScore".

Gracz naciska "S" i albo dźwięk jest ustawiony w pozycji ON (jeśli zmienna globalna "Sound" 0) lub wyłączyć (jeśli "Sound" był 1).

Podobnie jak w poprzednich systemach sub wydarzeń 16 i 17 są testowane, gdy "S" jest wciśnięty (wciśnięty oznacza, że ​​klawisz "S" została przesunięta w dół, a następnie zwolniony).

Event 16 jąder, jeśli zmienna globalna "Sound" jest równa 0. Jeśli tak, oznacza to, że gracz chce, aby włączyć dźwięk w.

Spójrzmy na działania, które to zrobić:

    Dźwięk: Play "UI1" nie zapętlenie (tag "UI")

Aby powiadomić graczowi, że dźwięk jest włączony, ta akcja odgrywa dźwięk. Nazwa dźwięk jest "UI1".

Zwróć uwagę na dźwięk tutaj nie pętli, jak jest to tylko "jeden shoot" dźwięk (to musi być odtwarzane na wejście gracza, ale nie dłużej).

Ponieważ górna wydarzenie jest spust "na wciśniętego klawisza", obecny wydarzenie sub wykona tylko raz, a więc tylko jeden "instance" dźwięku będą odtwarzane.

Dałem tag tutaj, ale tak naprawdę nie używać go w projekcie.

    Dźwięk: Play "MattOglesby - 2" pętli (tag "muzyka tła")

Ta akcja jest do odtwarzania muzyki w tle. Dla "Splash" i "Score" układów, tylko ten "MattOglesby - 2" utwór jest odtwarzany.

Utwór muzyczny ma zostać pętli (jak to jest muzyka w tle dzieje i on).

Fakt tagging muzykę tutaj pozwoli zatrzymać piosenkę jeśli zajdzie taka potrzeba (więcej o tym później). Znacznik pozwoliłoby również kontrolować głośność dźwięku, ale w tym projekcie nie zajmował się objętość jak dźwięki / muzyczki są ładnie produkowane i nie sprawiają, że głośniki nasycenia, gdy grał razem.

    System: Ustaw "dźwięk" na 1

Jako gracz chce, aby włączyć dźwięk dalej, to jest ten moment, aby zmienić wartość tej zmiennej globalnej.

    txtSound: określenie "(S) ound: On"

Przedmiotem tekst "txtSound" jest tam, aby dać pewną informację dla użytkownika, a także wskazują, że naciskając klawisz "S" pozwala włączyć lub wyłączyć dźwięk.

    Local Storage: Ustaw element "AsteroidSound" do 1

Podobnie jak w przypadku wyników, status dźwięku (jest włączony lub wyłączony) ma być zapisany w pamięci lokalnej i ładowane na "inicjalizacji" gry w "Splash" układu.

    Dźwięk: Napięcie wstępne "NewAchievement1"
    Dźwięk: Napięcie wstępne "SFX1"
    Dźwięk: Napięcie wstępne "Lazer Ogień 1"
    Dźwięk: Napięcie wstępne "Explosion 3"

W "Preload" akcja pobierze pliki dźwiękowe. Te pliki dźwiękowe są wykorzystywane w "Gra" układ, więc wstępne ładowanie je tutaj pozwalają th pomóc upewnić się, że pliki będą już pobrane podczas odtwarzania i tak będzie zapobiegać opóźnienie między "Play" i działania tej chwili rzeczywiście dźwięk jest odtwarzany.

Event 17 jest "Else" warunek. Tak więc będzie to wykonać, jeśli "dźwięku" wynosi 1, tak, że gracz chce wyłączenia dźwięku.

    Audio: Stop "muzyka tła"

Ta akcja zatrzymuje dźwięk odtwarzany za pomocą znacznika "muzyka tła".

Reszta działań jest jak w poprzednim przypadku, z wyjątkiem wartości są ustawione w celu odzwierciedlenia, że ​​dźwięk jest wyłączony.

Mówiłem wcześniej o "inicjalizacji" gry.

Spójrzmy wstecz na wydarzenia w "esSplash 3", termin, w którym zapisane wartości w pamięci lokalnej są ładowane.

Jest to rodzaj "preferencji gracza" w grze.

    Zdarzenie 5 - Składowanie lokalny: Set "dźwięk" na LocalStorage.ItemValue

Wartość przechowywana w kluczu "AsteroidSound" Local Storage jest ustawiony w zmiennej globalnej "dźwięk".

Z tego powodu istnieje zapotrzebowanie na "przełącznikiem dźwięku", aby zapisać wartość zmiennej globalnej dźwięku.

To również, dlaczego w przypadku 2 w broszurze "esSplash", gdzie są ustawione wartości domyślne dla punktów, wartość domyślna dla dźwięku jest ustawione. (I domyślnie dźwięk jest odtwarzany)

.. ° muzyka w tle, zmieniając każdą falę

Zmiana muzyki do każdej fali dzieje w systemie Wave.

Wróćmy do wydarzenia 27 i 29 w grupie "WaveSystem" in "esGame".

Event 27 zdarza się raz wszystko "Asteroid" zostały zniszczone.

    System: Dźwięk = 1

Posiadanie sub badania zdarzenia, że ​​wartość zmiennej globalnej "dźwięk" jest 1 (co oznacza, że ​​dźwięk jest włączony).

Za każdym razem, istnieje potrzeba w projekcie dla pewnego działania dźwięku, to jest wykonywane w przypadku testowania sub tę wartość.

    System: spust

Ponieważ górna zdarzeń (event 26) nie jest spust i może być prawdziwymi kilka kleszcze z rzędu, warunek ten pozwala, aby upewnić się, że działania będą wykonywane tylko raz.

Jeśli chodzi o działania:

    Audio: Stop "muzyka tła"

Ta akcja zatrzymuje dźwięk odtwarzany za pomocą znacznika "muzyka tła".

Chciałem tylko muzyka przestała być wyraźnie zawiadomić odtwarzacza że stan gry zmieniły się odkąd ukończył fali.

    Dźwięk: Play "NewAchievement1" nie zapętlenie (tag "EndWave")

Akcja ta odtwarza dźwięk audio, który powiadamia odtwarzacza że zakończyła obecną falę.

Event 29 działa w taki sam sposób, testując wartość zmiennej globalnej "dźwięk" oraz realizujące działania tylko wtedy, gdy dźwięk jest włączony.

Jak widać wcześniej, "UI1" dźwięk jest odtwarzany (ten dźwięk jest tam na działania gracza w "menu", jak również w między fale w grze).

Ostatnia akcja imprezy jest nieco specyficzne. To "Audio: Play (według nazwy)" działanie, które pozwala nazwać ten plik do odtworzenia w postaci ciągu znaków, a tym samym pozwala złączyć ciąg ze zmiennych i wyrażeń.

    Dźwięk: Play "MattOglseby -" & piętro (random (0,3)) pętli z "Music" (tag "muzyka tła")

"Play (według nazwy)" działanie trwa kilka parametrów: nazwa pliku (jako pole tekstowe, w którym można dodać zmiennych i wyrażeń), folder plik ma być (albo "Dźwięki" lub "Muzyka ", tutaj jest to" muzyka "folder) i tag, jako" zwykłej "," Play "działania.

Znacznik tutaj jest nadal "muzyka tła", a więc plik może zostać zatrzymany na koniec kolejna fala za.

Pliki muzyczne w tym projekcie są nazywane "MattOglesby - X", gdzie X jest liczbą od 0 do 2.

Użycie wyrażenia "& piętrze (random (0,3))" pozwala, aby złączyć (dodaj do łańcucha) losową liczbę między 0 i 2 do napisu "MattOglesby -" (zwróć uwagę na spacje).

Pozwala odtworzyć jakiś utwór każda fala, w granicach dostępnych utworów.

.. ° Wygląda na niektórych działań (asteroid trafiony, asteroida zniszczone, asteroidy w zderzeniu ze statkiem, koniec fali, ruch statków, gracz naciska "Return" w "menu")

Niektóre z tych działań, już widzieliśmy (UI1 są odtwarzane w "menu", "NewAchievement1" odtwarzanego na koniec Wave).

Jak już wspomniano wcześniej, proces ten jest praktycznie taka sama przez cały czas, w grupą, która sprawdza, czy zmienna globalna "dźwięku" ma wartość 1 (dźwięk jest włączony).

Wtedy "Audio: Play" działanie jest wykorzystywane zgodnie z nazwą dźwięku.

Sprawdź w "esGame" wydarzeń 22 i 24 w grupie "AsteroidHandling", które odpowiadają przeboju asteroid i planetoid zniszczonych dźwięki.

Nic dodać tam w odniesieniu do poprzednich wyjaśnień.

Event 14 jest dźwięk odtwarzany zderzenie pomiędzy "Asteroid" i statek gracza.

Finaly, dźwięki o ruchu statków dzieje się w grupie "PlayerMovement".

Ten sam dźwięk odtwarzany jest ciągiem i hamulców, ale jest oznaczone inaczej.

Jak widać zdarzeń 4, warunek "System: spust" jest tam ponownie, aby grać tylko jeden dźwięk tak długo, jak przycisk "UP" jest przytrzymany (górny zdarzenie 3).

Dźwięk jest "JetLoop1", które nie jest krótki dźwięk. Nadal nie ma potrzeby, aby go pętli.

Dźwięk jest oznaczone "Thrust" jako "up" klucz sprawia, że ​​statek do przodu / wepchnięcie.

Zdarzenie 5 dzieje się, kiedy przycisk "UP" jest zwolniony.

Można zauważyć akcji "Audio: Stop" Thrust "".

Dźwięk jest zatrzymany, ponieważ statek nie jest już wepchnięcie.

To samo dzieje się w przypadku logiki 7 i 8, ale dla tagu "Brake".

To wszystko na system audio w tym projekcie. W swoich projektach można działać na objętości i Wskaźnik odtworzeń swoim dźwiękiem, w taki sam sposób, jak zatrzymać dźwięk, nazywając swój znacznik.

Możesz podać ten sam tag do kilku dźwięków grających i zastosować taką samą objętość / akcję do nich wszystkich naraz, po prostu nazywanie tag.

5 - Bar życie wdrożenie

Jest to temat często zadawane, a także ciekawe informacje zwrotne dla gracza.

Lifebar jest wizualną reprezentacją zdrowia / energii pozostałej w jakimś przedmiotem w grze.

W tym projekcie, wybrałem tylko reprezentują zdrowia statku z lifebar, jak "Asteroid" są hitem, a ich wielkość determinuje pogoda one podzielone lub ulec zniszczeniu.

Samo zdrowie jest obsługiwany w grupie "PlayerHandling" in "esGame". Mamy już omówione temat w podstawowej mechaniki.

Lifebar jest tylko tam, aby wizualnie przedstawiają to zdrowie.

Lifebar jest w układzie "gra" i składa się z dwóch obiektów:

+ Sprite "LifeBarBorder", który jest biały ustalona granica.

+ A [sąsiadująco tła] [31] "LifeBar", który jest gradient z czerwonego na zielony tekstury.

Użyteczna różnica między tiledbackground i ikonki nie jest to, że po zmianie rozmiaru (szerokość i / lub wysokość) o tiledbackground, to po prostu wyświetla mniej lub bardziej tekstury, natomiast sprite wyświetla całą strukturę i rozciągnąć go do rozmiar.

To dlatego szczypanie wartość width "LifeBar" pozwoli, aby sprawiać wrażenie lifebar do odtwarzacza i stanowią ściśle aktualny stan zdrowia statku.

"LifeBar" 's szerokość wynosi 128 (w całości, jak maksymalna ilość zdrowia "Gracz").

"LifeBarBorder" jest ściśle wizualna i nigdy nie miał być modyfikowane.

Te dwie tekstury Zrobiłem sobie za pomocą programu GIMP. Można ponownie użyć tych dwóch aktywów w swoich projektach, jeśli masz na to ochotę, ale szczerze mówiąc, czy mogę robić takie aktywa, można się też, i ewentualnie zrobić lepszych.

Z punktu widzenia kodeksu istnieje tylko jedno działanie wymagany dla tej implementacji.

W przypadku 34 w "esGame", w "Każdy kleszcza" imprezy:

    Lifebar: Ustaw szerokość Player.Health

Jak wspomniano wcześniej, pełna szerokość "Lifebar" jest taka sama jak w pełnej wysokości "Player.Health": 128.

Więc ustawienie "Lifebar" 's Szerokość do obecnego "Player.Health" zapewnia, że ​​lifebar wyświetla odpowiednią ilość zdrowia.

  • 0 Comments

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