Stáhněte si aplikaci unity 3d pro Android. Použití Unity k vývoji aplikací. Jak vytvářet hry v Unity

Vývoj her pro zařízení s operačním systémem Android vyžaduje přístup podobný vývoji pro iOS. Na druhou stranu hardware Android zařízení nepodléhá jasným standardům, a proto je nutné řešit problémy, které při práci s iOS absentují. Existují také rozdíly mezi verzemi Unity pro Android a iOS.

Příprava vývojového prostředí Android

Než budete moci otestovat své hry na zařízení, budete muset připravit vývojové prostředí. Zejména si stáhněte a nainstalujte Android SDK požadované platformy a přidejte své zařízení do systému (tento proces je odlišný pro Windows a Mac). Toto je podrobně napsáno na webu Android Developers a další informace může poskytnout výrobce vašeho zařízení. Jelikož se jedná o poměrně komplikovaný proces, připravili jsme pro vás malý návod, který vám pomůže připravit vše potřebné pro vývoj. Pokud potřebujete další informace, můžete je získat na portálu Android Developer Portal.

Přístup k funkcím systému Android

Unity poskytuje API pro přístup ke vstupu a nastavení systému Android. Dostupné třídy jsou zdokumentovány na stránce Code for Android Assemblies.

Propojení kódu C, C++ nebo Java se skripty

Unity umožňuje volat funkce napsané v C/C++ přímo ze skriptů (Java funkce lze volat nepřímo). Chcete-li se dozvědět, jak přistupovat k funkcím z nativního kódu z Unity, navštivte stránku vytváření zásuvných modulů pro Android.

Occlusion Culling (oříznutí neviditelné geometrie)

Unity poskytuje podporu pro occlusion culling, což je velmi užitečné při optimalizaci pro mobilní platformy. Více informací naleznete na stránce Occlusion culling.

Přizpůsobení úvodní obrazovky

Úvodní obrazovku zobrazenou při spuštění hry lze přizpůsobit – více informací naleznete na této stránce.

Odstraňování problémů a hlášení chyb

Existuje mnoho důvodů, proč vaše aplikace selhává nebo nefunguje správně. Náš průvodce řešením problémů specifických pro Android vám pomůže vypořádat se s příčinami chyb v co nejkratším čase. Pokud po přečtení manuálu usoudíte, že problém je v Unity, měli byste podat hlášení o chybě. Pokyny naleznete na této stránce.

Jak se Unity pro Android liší od desktopové verze

JavaScript se silným psaním

Pro zlepšení výkonu ve verzi Unity pro Android je dynamické psaní v JavaScriptu vždy zakázáno (jako by se na každý skript automaticky použilo #pragma strict). To je důležité si zapamatovat, pokud přenášíte projekt na Android ze starších platforem a pokud narazíte na chyby při kompilaci, problém je třeba hledat především v psaní. S takovými chybami se obvykle snadno vypořádáte tím, že se ujistíte, že typy všech proměnných jsou během inicializace explicitně specifikovány nebo přetypovány.

Zatímco Unity Android podporuje textury DXT/PVRTC/ATC, Unity dekomprimuje textury do formátu RGB(A) za běhu, pokud tyto metody komprese nejsou na konkrétním zařízení podporovány. To může vážně ovlivnit výkon GPU vykreslování, proto se doporučuje používat formát ETC. Je to de facto standard pro Android a měla by být podporována všemi moderními zařízeními. Na druhou stranu ETC nepodporuje alfa kanál a někdy budou 16bitové RGBA textury nejlepší volbou z hlediska kvality, velikosti a rychlosti vykreslování tam, kde je potřeba alfa kanál.

Zobrazení příspěvku: 19 374

Mluvili jsme o tom, jak si můžete vytvořit vlastní hru na Androidu pomocí Unreal Engine. V tomto článku se podíváme na další neméně populární engine pro vývoj her - jednota.

Unity je mezi nezávislými vývojáři velmi známý engine. Ve skutečnosti se jedná o multiplatformní engine, který vám umožňuje se vyvíjet 3D- a 2D-hry. Funkce, která Unity odlišuje od ostatních motorů, je nízký vstupní práh pro začátečníky a zároveň má bohatou sadu nástrojů pro profesionály. Multiplatformní umožňuje vyvíjet aplikace pro jakoukoli platformu, od stolních her po mobilní.

Samostatně stojí za zmínku systém předplatného, ​​protože Unity není zcela bezplatný produkt. Existuje několik typů předplatného:

  • Osobní. Bezplatná verze, která obsahuje všechny hlavní funkce enginu. Má následující omezení: příjem za rok nebo výše získaných prostředků nesmí přesáhnout 100000$ .
  • Plus. Za 35 dolarů za měsíc jsou poskytovány různé zprávy a analýzy, stejně jako možnost změnit úvodní obrazovku, 20% - sleva na nákupy v Asset Store a různé drobné výhody. Má následující omezení: příjem za rok nebo objem získaných prostředků nesmí překročit 200000$ .
  • Pro. Za 125 $ měsíčně obsahuje všechny výhody verze Plus a navíc profesionální servis a prémiovou podporu. Bez omezení obratu nebo objemu finančních prostředků.
  • Samostatné verze pro podnikání (používané velkými společnostmi).

S verzí by tedy měli být spokojeni nezávislí vývojáři s malým rozpočtem Osobní nebo Plus jinak se budete muset přihlásit k odběru Pro. V tomto článku použijeme bezplatná verze pro první běh.

Krok 1 Nainstalujte Unity

Abyste mohli začít instalovat Unity, musíte přejít na web Unity Store, kde budete vyzváni k výběru typu předplatného. Jak je uvedeno výše, vybíráme Osobní.

Poté budete vyzváni k přijetí podmínek použití a stažení instalačního programu. Můžete se také odhlásit Požadavky na systém pracovat s Unity.

Po spuštění instalačního programu budete vyzváni k výběru komponent, které chcete nainstalovat. Protože potřebujeme vytvořit aplikaci pro Android, zaškrtneme políčko pro Podpora sestavení Androidu. Pokud chcete, můžete místo Unity nainstalovat Visual Studio Community 2017 pro naprogramování C#.

Poté už zbývá jen vybrat instalační cestu a začít instalovat Unity.

Krok 2: Registrace a nastavení Unity

Po dokončení instalace a spuštění Unity jsme vyzváni k přihlášení pomocí našeho účtu.

Poté budete znovu požádáni o výběr předplatného, ​​zaměříme se také na Osobní. V tomto případě budete muset potvrdit, že roční příjem společnosti je nižší než 100 000 $ nebo že Unity se používá pro účely školení.

Na závěr je navrženo provést malý průzkum, ve kterém musíte odpovědět na to, co děláte a za jakým účelem instalujete Unity.

Krok 3. Vytvořte nový projekt

Po konfiguraci Unity se dostaneme na obrazovku pro výběr / vytvoření projektu. Klikněte zde Nový vytvořit svůj nový projekt.

Poté budete v okně, které se objeví, požádáni o zadání názvu projektu a adresáře, kde bude umístěn. Nezapomeňte také zaškrtnout políčko 3D pro použití editoru ve 3D režimu.

Až budete hotovi, klikněte Vytvořit projekt vytvořit projekt. Poté se otevře okno editoru s předem vygenerovanou scénou.

Zatím se nebudeme zabývat spletitostmi programování a vezmeme si příklad hotová hra. Pro toto existuje Asset Store, která obsahuje obrovské množství hotových modelů, animací, zvuků (a dokonce i her), placených i bezplatných.

Chcete-li otevřít Asset Store, musíte v nabídce Okno Vybrat Asset Store(kombinace kláves ctrl-9).

Otevře se okno obchodu. Zadejte do vyhledávacího pole " příklad hry ve stylu flappy bird“ a otevřete bezplatný příklad, který použijeme v našem projektu.

kliknutím Stažení a když si jej stáhnete, můžete jej importovat do svého projektu. Chcete-li to provést, klikněte Import, načež se objeví upozornění, že po importu dojde ke změně nastavení projektu.

Po odsouhlasení importu se vám zobrazí okno, ve kterém je třeba vybrat, které komponenty chcete importovat. Vyberte vše a klikněte Import.

Po dokončení importu uvidíte nové soubory v Prohlížeči projektu. Toto jsou soubory hry. Chcete-li otevřít scénu v editoru, rozbalte Flappy Bird styl - scény a dvakrát klikněte na Hlavní.

V důsledku toho se herní scéna objeví v okně 3D editoru.

Jak hra funguje si můžete ověřit přímo v Unity kliknutím na tlačítko hrát si nad oknem editoru.

Krok 4 Nakonfigurujte nástroje Android

Poznámka: pokud používáte android studio, pak již máte vše nainstalováno potřebné komponenty a tak můžete bezpečně přejít k dalšímu kroku.

Abyste mohli sestavit výslednou hru na Androidu, musíte nainstalovat následující nástroje:

  • Java Development Kit (JDK). Můžete si jej stáhnout z webu Java. Kliknutím na odkaz se zobrazí úplně nahoře Platforma Java (JDK), klikněte na Stažení vedle nápisu, poté vyberte svůj operační systém a začněte stahovat. Poté už jen postupujte podle pokynů instalátoru.
  • Android SDK. nejvíce jednoduchým způsobem Chcete-li nainstalovat nejnovější verzi, musíte si stáhnout Android Studio, se kterým je tato sada SDK dodávána. Chcete-li to provést, přejděte na web Android Studio a klikněte na Stáhněte si Android Studio. Instalační program Android Studio nainstaluje základní součásti sady Android SDK potřebné pro vývoj systému Android.

Krok 5. Připravte projekt ke spuštění

Nejprve musíte změnit vývojovou platformu na Android. Chcete-li to provést, otevřete v Unity nabídku Soubor a vyberte Nastavení sestavení.

V okně, které se zobrazí, vyberte Android a poté stiskněte spínací platforma.

Přepínač platformy nám říká, že budeme vytvářet aplikaci pro Android. To znamená, že když aplikaci sestavíme, Unity vytvoří APK soubor. Přepnutí platformy také přinutí Unity znovu importovat všechna aktiva v projektu. U malého projektu to nebude trvat dlouho, ale mějte na paměti, že u velkých projektů může tato operace trvat dlouho.

Nyní musíme zadat název balíčku pro aplikaci.

Poznámka: Název balíčku je jedinečným identifikátorem aplikace a je zapsán v reverzním stylu DNS ve formátu com.CompanyName.ProductName. Jakmile je aplikace publikována na Google Play, název balíčku již nelze změnit.

Chcete-li to provést, přejděte do nabídky Upravit a vybrat si Nastavení projektu – přehrávač.

Na pravé straně Unity se otevře okno s mnoha různými nastaveními, jako je verze aplikace, cílové a minimální SDK, výběr ikon atd. Tady potřebujeme v bloku Další nastavení nalézt Identifikace a v poli nastavte název balíčku název balíčku. Pokud chcete, můžete změnit i další nastavení.

Nyní zbývá pouze zadat cestu k Android SDK a JDK. Chcete-li to provést, přejděte do nabídky a vyberte Edit-Preferences.

V okně, které se zobrazí, přejděte na Externí nástroje a na polích SDK a JDK zadejte příslušné cesty a pak zavřete okno.

Krok 6: Vytvoření a spuštění aplikace

Je čas vytvořit svou první aplikaci Unity. Chcete-li to provést, vyberte z nabídky Soubor – Nastavení sestavení. Otevře se okno, ve kterém budete muset přidat scénu, kterou chcete sestavit. Jelikož tuto scénu již máme otevřenou v editoru, stačí kliknout Přidat otevřené scény pro přidání do sestavy se po přidání zobrazí v seznamu scén.

Zbývá pouze stisknout Stavět, poté začne Unity aplikaci budovat. Předtím můžete být požádáni, abyste vybrali složku, do které budou uloženy shromážděné soubory aplikace, a také název souboru APK.

Poznámka: v tuto chvíli, pokud máte nainstalovanou alfa verzi v Android SDK Build-Tools(verze 28.0.0-rc1), při sestavování Gradle vydá chybu. Chcete-li to vyřešit, jednoduše odstraňte tuto verzi ze sady Android SDK.

V důsledku toho se vestavěný soubor APK objeví ve složce, kterou jste zadali, připraven k instalaci do emulátoru nebo na skutečné zařízení.

Podívejme se, co je uvnitř sestaveného APK. K tomu používáme utilitu APK analyzátor, který je součástí aplikace Android Studio,

Velikost nekomprimovaného souboru APK je 21,1 MB, ve stlačeném 20,9 MB. Jak můžete vidět z grafu, většinu objemu zabírají knihovny třetích stran přidané Unity. Pak dovnitř aktiva jsou umístěny všechny prostředky, které jsou použity v sestavené scéně. Soubor třídy.dex obsahuje pouze 89 třídy a 479 metody.

Navíc, když se podíváte AndroidManifest.xml, aplikace se skládá z jedné činnosti.

Závěr

To je vše. V tomto článku jsme se naučili, jak nainstalovat a nakonfigurovat Unity, a také jsme vytvořili naši první aplikaci pro Android.

Unity je motor, na kterém většina moderní hry na různých platformách. Prostřednictvím enginu je skutečně možné vytvářet hry orientované na běh na počítačích (Windows, Linux, MacOS), mobilní telefony, tablety (Android, iOS) a dokonce herní konzole PlayStation, Xbox, Nintendo.

Jak vytvářet hry v Unity?

Unity je založen na konceptu orientovaném na komponenty. Ve skutečnosti se každá hra skládá z množství předmětů naředěných dalšími součástmi. Například při tvorbě plošinovky vytvoříme GameObject, dodatečně k němu připojíme grafickou komponentu, která má na starosti zobrazení postavy, a ovládací komponent, zajišťuje ovládání postavy pomocí myši, klávesnice, joysticku popř. Dotyková obrazovka. Motor neklade žádná omezení na počet takových modulů. Do GameObject můžeme přidat tolik komponent, kolik je potřeba. Veškerá práce na enginu je založena na samotném vytvoření GameObject a aplikaci vhodných komponent do nich.

Začátečníci mohou být klamáni zdánlivou jednoduchostí procesu, i když tomu tak není. Chcete-li vytvořit jedinečnou a populární hru, musíte napsat spoustu komponent od začátku. Přesněji řečeno, v prostředí Unity se tomu říká skript. Nativním skriptovacím jazykem je C#, ale částečně se používá i JavaScript a Boo (oříznutá verze Pythonu). Vytváření vlastních komponent není jednoduché, dalo by se dokonce říci, že jde o složitý postup přímo spojený s klasickým programováním. Bez dostatečné úrovně znalostí v programování to půjde jen těžko.

Podporované platformy

Mnoho velkých projektů preferuje Unity kvůli obrovskému seznamu platforem kompatibilních s enginem. Hotovou aplikaci lze spustit na jakémkoli operačním systému počítače, oblíbených mobilních platformách a SmartTV. Co můžeme říci, dokonce i prohlížečové hry a aplikace pro konkrétní platformy ( jako Tizen OS) jsou vyvinuty převážně v Unity.

Zde však není vše tak hladké. V případě potřeby můžete napsat specifické algoritmy založené na nízkoúrovňovém kódu, pro stejný Android musíte mít důkladnou znalost Javy.

Totéž platí pro iOS. Další vlastností iOS je, že je možné pro něj vyvíjet pouze z počítače nebo tabletu od Applu. Při absenci Macbooku nebo podobného zařízení se vydání hry rychle zadrhne a Unity s tím nemá nic společného, ​​podobné omezení ukládá i sám Apple. Závěr je jednoduchý: pokud je v plánech vývoj iOS, měli byste si předem vybrat vhodné zařízení pro montáž.

Jak a kde vyvinout hru na enginu?

Dlouhý proces vývoje her můžeme provádět jak v rámci Windows, tak Mac OS X. Existují již verze editoru pro Linux, ale zatím nemůžeme počítat s jejich stabilním provozem. Vývojář tráví většinu času tvorbou hry v editoru Unity. Na psaní kódu skriptu máme ještě spoustu času, můžeme jej vytvořit buď ve standardním MonoDevelop nebo v libovolném editoru třetích stran. Nyní aktivně používají Visual Studio, stejně jako Sublime Text, ale pouze se správnou konfigurací.

Rozvoj mobilní aplikace je jedním z nejvýnosnějších povolání v počítačovém průmyslu. Vytvoření hry pro Android stojí stovky či tisíce dolarů a zisk může dosáhnout až milionu dolarů. V tomto ohledu se mnoho lidí zajímá o vývoj aplikací pro telefon. V tomto článku se dozvíte, jak vytvořit hru pro Android od začátku pomocí počítače, který engine a návrhář je lepší vybrat.

žádný úspěšná hra se neobejde bez krásné grafiky, takže tvorba designu je jednou z nejdůležitějších fází vývoje. Design na OS Android je implementován pomocí „design document“ nebo design document. Musíte začít vytvářet hračku s její podrobnou studií. Soubor obsahuje:

  1. Objektové modely;
  2. Funkční specifikace;
  3. Obsah hry;
  4. Rozhraní.

Zvažme každý z bodů podrobněji.

Objektové modely

Jedná se o informace o funkčnosti každé položky. Objektové modely jsou zodpovědné za schopnost nakupovat a prodávat předměty a také za zlepšování herních vlastností postav.

Funkční specifikace

Popisuje hratelnost, hlavní rysy každé postavy. Popisuje také funkce herní předměty- zbraně, lékárničky, brnění a další. Funkční specifikace jsou v podstatě pravidla, podle kterých herní proces. Čím lépe bude tato část zpracována, tím snazší bude vytvoření vysoce kvalitní hry pro Android.

Obsah hry

Toto je textová výplň hry. Popisuje dialogy postav a jaké zbraně lze použít k poškození, kolik zdraví zásah ubere, jaké vlastnosti se zvýší při použití různého vybavení. Obsahuje také Detailní popis každý předmět.

Rozhraní

Rozhraní je způsob interakce uživatele s hrou. Zahrnuje tlačítka, kterými můžete postavu ovládat, a sekce menu: například hra, skóre, nastavení, nejlepší hráči, nápověda. Pokud nemáte žádné zkušenosti s vytvářením aplikací pro Android, než si vytvoříte vlastní, stáhněte si z Play Market a analyzujte populární hry a přeneste nejlepší řešení do vašeho projektu.

Herní engine

Jádrem každé hry je engine. to software, což vám umožní jej vyvíjet a provozovat. Obsahuje celou řadu programů, včetně renderovacího jádra, fyzikálního enginu, zvuku, animací a mnoha dalších. Pro usnadnění procesu psaní programů vytvářejí vývojáři třetích stran své vlastní herní enginy speciálně pro aplikace pro Android.

Každý z nich nabízí jiné funkce: některé jsou určeny pro 3D, jiné pro 2D, lze podporovat multiplatformní. Existuje velké množství takových motorů, ale pokud jste začátečník, je lepší vybrat si jeden z nejoblíbenějších, protože tam budou všechny potřebné funkce.

UDK

Točivý moment 2d/3d

Co je to herní designér?

Constructor je program, který kombinuje herní engine a integrované vývojové prostředí. Konstruktor zpřístupňuje vývojový proces lidem, kteří nemají programovací dovednosti. Někteří z návrhářů umožňují vytvářet hry určitých žánrů, jiní mají maximální funkčnost, ale stojí mnohem více peněz. Pro začínajícího tvůrce mobilních aplikací je výběr designéra jedním z nejzásadnějších momentů, protože na jejích možnostech bude záviset osud budoucí aplikace.

Konstruktor umožňuje vytvářet hry různých žánrů pro Windows, Android a iOS. Nabídky velký výběr hotové lokace, předměty, postavy a zvukový design, takže vytvoření první Android hry nezabere mnoho času. Uživatelé obeznámení s programovacími jazyky JS a C++ mohou používat vestavěný GML. Jedinou nevýhodou je, že program není přeložen do ruštiny.

Závěr

Vytvoření hry pro Android není snadný, ale velmi výnosný obchod. Pokud se rozhodnete vyvinout hru a vydělat na ní peníze, nejprve si vymyslete nápad. Dále napište „design document“ a rozhodněte se pro herní engine, který dokáže maximalizovat jeho potenciál. Poté můžete přejít přímo k vytvoření aplikace v konstruktoru.

Video

Chcete-li se dozvědět více o procesu vytváření her pro Android, podívejte se na sérii videí věnovaných této aktivitě.

Jak rychle napsat hru pro Android s Unity

V současné době se může kdokoli stát úspěšným vývojářem mobilních her nebo aplikací, aniž by musel vynakládat velké úsilí. Příkladem takového případu je Dong Nguyen, který vyvinul Flappy Bird. Hra neměla žádnou složitou mechaniku ani grafiku, ale to jí nezabránilo v tom, aby se stala populární a svému tvůrci přinášela padesát tisíc dolarů denně. Na hře však nebylo nic pozoruhodného. K úspěchu stačilo být ve správný čas na správném místě a trochu štěstí. Podobné věci se mohou stát i dnes, jen potřebujete správný nápad.

Abychom demonstrovali, jak snadné je něco takového napsat, dnes napíšeme vlastní Flappy Bird pomocí Unity za pouhých 10 minut.

herní postava

Nejprve vytvořte nový projekt a ujistěte se, že je vybrána možnost 2D.

Nahrajte svého ptačího skřítka do scény. Nezapomeňte zapnout fantazii!

Potom upravte velikost spritu podle svých představ přetažením za roh požadovaným směrem. Sprite by měl být viditelný v okně hierarchie vlevo. Jsou v něm vidět všechny objekty na scéně a v tuto chvíli by z nich měly být jen dva: kamera a pták.

Přetáhněte kameru na ptáka a uvolněte. Kamera by měla být pod ptákem, což znamená, že kamera je nyní „dítětem“ ptáka. Nyní bude poloha kamery fixována vzhledem k ptákovi. Pokud se pták pohne dopředu, kamera udělá totéž.

Vyberte ptáka znovu ve scéně nebo v okně hierarchie. V okně nazvaném Inspektor se vpravo zobrazí seznam možností a atributů. Zde můžete spravovat různé proměnné vázané na konkrétní objekt.

Nyní klikněte na Přidat komponentu. Vyberte Physics2D > Rigidbody2D – toto je připravená sada návod k použití gravitace na naši postavu. Klikněte v tomto panelu na Constraints a poté vyberte zmrazení rotace Z . Tím zabráníte tomu, aby se pták s kamerou otáčel.

Stejným způsobem přidejte Polygon Collider, který Unity řekne, kde jsou hranice postavy. Stiskněte Play a uvidíte, jak sprite spolu s kamerou donekonečna padají dolů.

Zatím se vše daří!

Nyní je čas začít létat s postavou, protože to nebude těžké.

Nejprve musíte vytvořit skript C#. Vytvořte pro něj složku (klikněte pravým tlačítkem někam do aktiv a vytvořte složku „Scripts“), klikněte pravým tlačítkem a vyberte Vytvořit > C# Script .

Říkejme tomu „charakter“. Dvojitým kliknutím na něj otevřete ve svém IDE, ať už je to MonoDevelop nebo Visual Studio. Poté přidejte následující kód:

Public class Character: MonoBehaviour ( public Rigidbody2D rb; public float moveSpeed; public float flapHeight; // Toto je pro inicializaci void Start () ( rb = GetComponent(); ) // Aktualizace je volána jednou za snímek void Update () ( rb .velocity = new Vector2(moveSpeed, rb.velocity.y); if (Input.GetMouseButtonDown(0)) ( rb.velocity = new Vector2(rb.velocity.x, flapHeight); ) if (transform.position.y > 18 || transformace.pozice.y< -19) { Death(); } } public void Death() { rb.velocity = Vector3.zero; transform.position = new Vector2(0, 0); } }

Tento kód dělá dvě věci. Díky tomu se postava pohybuje vpřed rychlostí, kterou definujeme v inspektoru, a působí dojmem ptáka v letu. Metoda Update() je volána opakovaně v průběhu hry, takže cokoli sem vložíte, poběží nepřetržitě. V tomto případě našemu objektu přidáváme určitou rychlost. Proměnná rb je skript RigidBody2D, který jsme použili na náš objekt dříve, takže když píšeme rb.velocity, odkazujeme na rychlost objektu.

Pokud používáte mobilní zařízení, klepnutí na obrazovku Unity interpretuje jako kliknutí myší. Po zmáčknutí donutíme postavičku, aby se trochu zvedla.

Proměnná moveSpeed ​​​​bude zodpovědná za rychlost pohybu a proměnná flapHeight - pro zvýšení výšky letu ptáka po každém kliknutí. Protože jsou tyto proměnné veřejné, můžeme je změnit mimo skript.

Metoda Death() je také deklarována jako public , což znamená, že ji mohou volat jiné objekty a skripty. Tato metoda jednoduše vrátí pozici znaku na začátek. Použije se také pokaždé, když postava letí příliš vysoko nebo nízko. Brzy pochopíte, proč je deklarován jako veřejný. Řádek rb.velocity = Vector3.nula; potřeba odstranit hybnost – nechceme, aby postava po každé smrti padala rychleji a rychleji, že?

Nyní můžete ukončit IDE a přidat skript jako komponentu k postavě. Chcete-li to provést, vyberte našeho ptáka a klikněte na Přidat komponentu > Skripty > Charakter . Nyní můžeme v inspektoru definovat moveSpeed ​​​​a flapHeight (k tomu slouží veřejné proměnné). Přiřadit proměnné hodnoty 3 a 5, v tomto pořadí.

A ještě jedna věc: v inspektoru je potřeba k postavě přidat značku. Chcete-li to provést, klikněte na místo, kde je uvedeno Tag: Untagged, a poté z rozevíracího seznamu vyberte možnost Player.

Překážky

Nyní přidáme překážky: potrubí. Někdo najde houby v potrubí a někdo najde svou vlastní smrt.

Přetáhněte skřítka potrubí do scény na místo, kde chcete mít první překážku, a pojmenujte ho pipe_up.
Nyní vytvoříme nový skript s názvem Pipe:

Veřejná třída Pipe: MonoBehaviour ( soukromý znak znaku; // Potřebné pro inicializaci void Start () ( znak = FindObjectOfType(); ) // Aktualizace je volána jednou za snímek void Aktualizace () ( if (character.transform.position.x - transform.pozice.x >

Přidejte tento skript do spritu potrubí stejným způsobem jako předtím. Po opuštění levého okraje se tedy potrubí vrátí na obrazovku. Zatím jsme tu nic nedělali, ale vrátíme se k tomu.

Metoda OnCollisionEnter2D() se volá pokaždé, když roura interaguje se znakem. Poté se zavolá dříve vytvořená metoda Death() a vrátí hráče do výchozího bodu.

Máme tedy jednu rouru, která čas od času zmizí a znovu se objeví na druhém konci obrazovky. Udeř ji, zemřeš.

obrácené trubky

Právě teď máme jen jednoho potrubního skřítka. Přidejme ještě jednu. Chcete-li to provést, klepněte pravým tlačítkem myši v okně hierarchie, klepněte na Nový 2D objekt > Sprite a poté vyberte sprite, který chcete použít. Ještě snazší je soubor znovu přetáhnout do scény.

Pojmenujte tento sprite pipe_down . V Inspektoru pod Sprite Renderer vyberte možnost Překlopit Y, chcete-li převrátit potrubí vzhůru nohama. Přidejte stejný RigidBody2D .

Nyní napíšeme nový C# skript s názvem PipeD . Bude mít podobný kód:

Veřejná třída PipeD: MonoBehaviour ( soukromý znak znaku; //To je potřeba pro inicializaci void Start() ( znak = FindObjectOfType(); ) // Aktualizace je volána jednou za snímek void Update() ( if (character.transform.position. x - transform.position.x > 30) ( ) ) void OnCollisionEnter2D(Collision2D other) ( if (other.gameObject.tag == "Hráč") ( character.Death(); ) ) )

Paneláky

Tento kód nám tedy stačí k vytvoření celé hry. Mohli jsme přesunout potrubí na pravou stranu obrazovky pokaždé, když zmizí, nebo zkopírovat a vložit tolik potrubí, kolik bychom chtěli během hry.

Pokud půjdete první cestou, pak se ujistěte, že trubky jsou po náhodném generování správné a bylo by obtížné udržet spravedlivý průběh věcí. Po smrti postavy se mohou objevit v kilometrech od prvního potrubí!

Pokud půjdete druhou cestou, pak vše skončí nadměrnou spotřebou paměti s výsledným zpomalením hry a omezenou hodnotou opakování, protože. všechno zůstane pokaždé na stejném místě.

Místo toho použijme prefabrikáty. Jednoduše řečeno, přeměníme naše potrubí na šablony, které pak můžeme použít k efektivnímu vytváření dalších potrubí podle přání. Pokud jsou zde programátoři, pak považujte skript Pipe za třídu a roury za instance tohoto objektu.

Chcete-li to provést, vytvořte novou složku "Prefabs". Poté přetáhněte pipe_up a pipe_down z okna hierarchie do složky.

Pokaždé, když přetáhnete objekt z této složky do scény, bude mít stejné vlastnosti, takže nemusíte stále přidávat komponenty. A co víc, pokud změníte velikost komponenty ve složce, ovlivní to všechny trubky ve hře a nebudete muset měnit velikost každé zvlášť.

Jak si dokážete představit, výrazně to ušetří naše zdroje. Znamená to také, že můžeme interagovat s objekty z kódu. Můžeme vytvořit instanci našich potrubí.

Nejprve přidejte tento kód do podmíněného výrazu v metodě Update() skriptu Pipe, který jsme nechali prázdný:

Void Update () ( if (character.transform.position.x - transform.position.x > 30) ( float xRan = Random.Range(0, 10); float yRan = Random.Range(-5, 5); Instantiate (gameObject, new Vector2(character.transform.position.x + 15 + xRan, -10 + yRan), transform.rotation); Destroy(gameObject); ) )

To je potřeba k vytvoření instance našeho gameObject . Výsledkem je nová identická kopie. Kdykoli v Unity použijete slovo gameObject , vztahuje se to k objektu, ke kterému je skript aktuálně vázán – v našem případě potrubí.

Naše dýmky znovu generujeme v náhodných variacích, aby to bylo zábavnější.

Ale místo toho, abychom dělali totéž ve skriptu PipeD, generujeme oba objekty na stejném místě. Můžeme tak snadno nastavit polohu druhé trubky vzhledem k první. Znamená to také, že potřebujeme méně kódu pro PipeD.

Vytvořte veřejný gameObject s názvem pipeDown . Poté aktualizujte kód takto:

If (character.transform.position.x - transform.position.x > 30) ( float xRan = Random.Range(0, 10); float yRan = Random.Range(-5, 5); float gapRan = Random.Range (0, 3); Instantiate(gameObject, new Vector2(character.transform.position.x + 15 + xRan, -11 + yRan), transform.rotation); Instantiate(pipeDown, new Vector2(character.transform.position.x + 15 + xRan, 12 + gapRan + yRan), transform.rotation); Destroy(gameObject); )

Vraťte se do Unity a přetáhněte prefab pipe_down ze složky prefabs (to je důležité!) na místo, kde je napsáno "Pipe Down" (všimněte si, jak je naše pouzdro na velblouda nahrazeno mezerou) na trubku sprite pipe up . Pokud si vzpomínáte, definovali jsme Pipe Down jako veřejný gameObject , což nám dává možnost odkudkoli určit, co tento objekt je – v tomto případě prostřednictvím inspektora. Výběrem prefab pro tento objekt zajistíme, že když se vytvoří instance roura, bude obsahovat všechny atributy a skript, které jsme přidali dříve. Nevytváříme jen skřítka, ale znovu vytváříme objekt s urychlovačem, který může postavu zabít.

Vše, co přidáme na stejné místo do skriptu PipeD, je pouze Destroy(gameObject) , takže potrubí se samo zničí, když opustí levou stranu obrazovky.

Pokud nyní spustíte hru, obrazovka se automaticky posune a zemřete, pokud zasáhnete některou z trubek. Leťte dostatečně daleko a tyto trubky zmizí a znovu se objeví vpředu.

Bohužel je mezi trubkami velká vzdálenost a obrazovka vypadá prázdná. Mohli bychom to napravit přidáním několika prefabrikátů na naši scénu, abychom vytvořili řadu neustále se rodících trubek. Bylo by však lepší generovat roury ve skriptu. To je důležité, protože jinak se po smrti postavy zničí potrubí na začátku cesty a znovu se vytvoří prázdné místo.

Tímto způsobem můžeme během každého herního zatížení vytvořit prvních pár trubek a po smrti postavy vrátit vše na své místo.

Nekonečný let

Nyní vytvoříme veřejné proměnné pipe_up a pipe_down ve skriptu Character. To vám dá možnost odkazovat na vytvořené objekty přetažením prefabrikátů na objekt postavy, stejně jako když jsme přidali pipe_down do skriptu Pipe.

Musíme přidat tyto proměnné:

Public GameObject pipe_up; public GameObject pipe_down;

Pak napíšeme metodu jako je tato:

Public void BuildLevel() ( Instantiate(pipe_down, new Vector3(14, 12), transform.rotation); Instantiate(pipe_up, new Vector3(14, -11), transform.rotation); Instantiate(pipe_down, new Vector3(26, 14), transform.rotation); Instantiate(pipe_up, new Vector3(26, -10), transform.rotation); Instantiate(pipe_down, new Vector3(38, 10), transform.rotation); Instantiate(pipe_up, new Vector3( 38, -14), transform.rotation); Instantiate(pipe_down, new Vector3(50, 16), transform.rotation); Instantiate(pipe_up, new Vector3(50, -8), transform.rotation); Instantiate(pipe_down, new Vector3(61, 11), transform.rotation); Instantiate(pipe_up, new Vector3(61, -13), transform.rotation); )

Zavoláme jej jednou v metodě Update() a jednou v metodě Death().

Po spuštění hry se zavolá Update() a naše potrubí se umístí podle dané konfigurace. Díky tomu bude prvních pár překážek vždy na stejném místě. Po smrti hráče se trubky vrátí na stejná místa.

Vraťte se na scénu v Unity a smažte dvě trubky, které tam nyní jsou. Vaše "hra" bude jen vypadat jako prázdná obrazovka s ptákem. Stiskněte Play a objeví se fajfky, po několika prvních bude jejich pozice určena náhodně.

Konečně

To jsme udělali celou hru! Přidejte počítadlo skóre, snažte se to udělat originálnější a zvyšujte obtížnost hry, jak postupujete. Také nebude zbytečné sestavit menu. Dalším dobrým nápadem je zničit potrubí na obrazovce po smrti postavy. Jakmile s tím budete hotovi, považujte jej za připravený k vydání Obchod Play hra ve vaší kapse! Bylo nebylo podobná hra udělal z dalšího vývojáře velmi bohatého, což dokazuje, že nemusíte být programátorský génius ani mít za sebou bohatého vydavatele, abyste byli úspěšní. Potřebujete jen dobrý nápad a deset minut!

Chcete psát aplikace pro Android, ale nevíte, kde začít? Pak se podívejte na náš skvělý tutoriál pro výuku vývoje pro Android.



 
články na téma:
Vše, co potřebujete vědět o paměťových kartách SD, abyste se při nákupu Connect sd nepodělali
(4 hodnocení) Pokud v zařízení nemáte dostatek interního úložiště, můžete použít kartu SD jako interní úložiště pro telefon Android. Tato funkce, nazvaná Adoptable Storage, umožňuje OS Android formátovat externí média
Jak zatočit koly v GTA Online a další v GTA Online FAQ
Proč se gta online nepřipojuje? Je to jednoduché, server je dočasně vypnutý / neaktivní nebo nefunguje. Přejít na jiný Jak zakázat online hry v prohlížeči. Jak zakázat spouštění aplikace Online Update Clinet ve správci Connect? ... na skkoko vím, kdy ti to vadí
Pikové eso v kombinaci s jinými kartami
Nejčastější výklady karty jsou: příslib příjemného seznámení, nečekaná radost, dříve nezažité emoce a vjemy, obdržení dárku, návštěva manželského páru. Srdcové eso, význam karty při charakterizaci konkrétní osoby vás
Jak správně sestavit horoskop přemístění Vytvořte mapu podle data narození s dekódováním
Natální tabulka hovoří o vrozených vlastnostech a schopnostech svého majitele, místní tabulka hovoří o místních okolnostech iniciovaných místem působení. Významem jsou si rovni, protože život mnoha lidí odchází z místa jejich narození. Postupujte podle místní mapy