Atsisiųskite „Unity 3d“ programą „Android“. Unity naudojimas programoms kurti. Kaip sukurti žaidimus Unity

Kuriant žaidimus „Android“ OS įrenginiams reikia panašaus požiūrio į „iOS“ kūrimą. Kita vertus, „Android“ įrenginių aparatinei įrangai netaikomi aiškūs standartai, todėl būtina išspręsti problemas, kurių nėra dirbant su „iOS“. Taip pat yra skirtumų tarp „Unity“ „Android“ ir „iOS“ versijų.

Android kūrimo aplinkos paruošimas

Kad galėtumėte išbandyti žaidimus įrenginyje, turėsite paruošti kūrimo aplinką. Visų pirma, atsisiųskite ir įdiekite norimos platformos Android SDK ir pridėkite įrenginį prie sistemos (šis procesas skiriasi Windows ir Mac). Tai išsamiai parašyta Android kūrėjų svetainėje, o papildomos informacijos gali pateikti jūsų įrenginio gamintojas. Kadangi tai gana sudėtingas procesas, parengėme nedidelę instrukciją, kuri padės paruošti viską, ko reikia plėtrai. Jei jums reikia daugiau informacijos, galite ją gauti „Android“ kūrėjų portale.

Prieiga prie „Android“ funkcijų

„Unity“ teikia API, leidžiančią pasiekti „Android“ įvestį ir nustatymus. Galimos klasės pateiktos „Android“ rinkinių kodo puslapyje.

C, C++ arba Java kodų susiejimas su scenarijais

Unity leidžia iškviesti funkcijas, parašytas C/C++ kalbomis tiesiogiai iš scenarijų (Java funkcijas galima iškviesti netiesiogiai). Norėdami sužinoti, kaip pasiekti funkcijas iš vietinio kodo iš Unity, apsilankykite „Android“ papildinio kūrimo puslapyje.

Okliuzijos pjaustymas (nematomos geometrijos apkarpymas)

„Unity“ palaiko okliuzijos pašalinimą, o tai labai naudinga optimizuojant mobiliosioms platformoms. Daugiau informacijos galite rasti okliuzijos skerdimo puslapyje.

Pradinio ekrano pritaikymas

Prasidėjus žaidimui rodomą ekraną galima tinkinti – daugiau informacijos rasite šiame puslapyje.

Trikčių šalinimas ir pranešimų apie klaidas teikimas

Yra daug priežasčių, kodėl programa stringa arba netinkamai veikia. Mūsų vadovas, kaip išspręsti konkrečias „Android“ problemas, padės per trumpiausią įmanomą laiką pašalinti klaidų priežastis. Jei perskaitę vadovą manote, kad problema yra „Unity“, turėtumėte pateikti pranešimą apie klaidą. Instrukcijas rasite šiame puslapyje.

Kuo Unity for Android skiriasi nuo darbalaukio versijos

JavaScript su stipriu spausdinimu

Siekiant pagerinti „Unity“ versijos „Android“ našumą, „JavaScript“ dinaminis rašymas visada išjungtas (tarsi kiekvienam scenarijui būtų automatiškai taikoma #pragma strict). Tai svarbu atsiminti, jei perkeliate projektą į „Android“ iš senesnių platformų ir jei susiduriate su kompiliavimo klaidomis, problemos pirmiausia reikia ieškoti spausdinant. Su tokiomis klaidomis paprastai nesunku susidoroti įsitikinus, kad visų kintamųjų tipai yra aiškiai nurodyti arba perduodami inicijavimo metu.

Nors Unity Android palaiko DXT/PVRTC/ATC tekstūras, Unity vykdymo metu išspaus tekstūras į RGB(A) formatą, jei šie glaudinimo metodai nepalaikomi konkrečiame įrenginyje. Tai gali rimtai paveikti GPU atvaizdavimą, todėl rekomenduojama naudoti ETC formatą. Tai de facto „Android“ standartas ir turėtų būti palaikomas visuose šiuolaikiniuose įrenginiuose. Kita vertus, ETC nepalaiko alfa kanalo, o kartais 16 bitų RGBA tekstūros bus geriausias pasirinkimas pagal kokybę, dydį ir atvaizdavimo greitį ten, kur reikalingas alfa kanalas.

Įrašo peržiūrų skaičius: 19 374

Mes kalbėjome apie tai, kaip galite sukurti savo žaidimą „Android“ naudodami „Unreal Engine“. Šiame straipsnyje apžvelgsime kitą ne mažiau populiarų žaidimų kūrimo variklį - vienybė.

„Unity“ yra labai garsus variklis tarp nepriklausomų kūrėjų. Tiesą sakant, tai yra kelių platformų variklis, leidžiantis tobulėti 3D- ir 2D-žaidimai. Ypatybė, kuri išskiria Unity iš kitų variklių, yra žemas įėjimo slenkstis pradedantiesiems, o profesionalams yra gausus įrankių rinkinys. Kelių platformų naudojimas leidžia kurti programas bet kuriai platformai, nuo stalinių žaidimų iki mobiliųjų.

Atskirai verta paminėti prenumeratos sistemą, nes „Unity“ nėra visiškai nemokamas produktas. Yra keletas prenumeratos tipų:

  • Asmeninis. Nemokama versija, kurioje yra visos pagrindinės variklio funkcijos. Jis turi tokį apribojimą: pajamos per metus arba pritraukiamų lėšų suma neturi viršyti 100000$ .
  • Pliusas. Per 35 USD per mėnesį pateikiamos įvairios ataskaitos ir analizė, taip pat galimybė keisti ekraną, 20% - nuolaida perkant Turto parduotuvė ir įvairios smulkios naudos. Jis turi tokį apribojimą: metų pajamos arba surinktų lėšų suma neturi viršyti 200000$ .
  • Pro. Per 125 USD per mėnesį apima visus versijos privalumus Pliusas ir papildomai profesionalus aptarnavimas bei aukščiausios kokybės palaikymas. Jokių apribojimų nei apyvartai, nei lėšų sumai.
  • Atskiros versijos verslui (naudojamos didelės įmonės).

Taigi, nepriklausomi kūrėjai, turintys mažą biudžetą, turėtų būti patenkinti versija Asmeninis arba Pliusas kitu atveju turėsite užsiprenumeruoti Pro. Šiame straipsnyje mes naudosime nemokama versija pirmam bėgimui.

1 veiksmas Įdiekite „Unity“.

Norėdami pradėti diegti Unity, turite eiti į Unity Store svetainę, kur būsite paraginti pasirinkti prenumeratos tipą. Kaip minėta aukščiau, mes pasirenkame Asmeninis.

Tada būsite paraginti sutikti su naudojimo sąlygomis ir atsisiųsti diegimo programą. Taip pat galite patikrinti Sistemos reikalavimai dirbti su „Unity“.

Paleidę diegimo programą būsite paraginti pasirinkti, kuriuos komponentus įdiegti. Kadangi turime sukurti „Android“ programą, pažymėsime laukelį Android Build palaikymas. Be to, jei norite, galite įdiegti vietoj „Unity“. Visual Studio bendruomenė 2017 m programavimui įjungti C#.

Po to belieka pasirinkti diegimo kelią ir pradėti diegti Unity.

2 veiksmas: registracija ir Unity nustatymas

Baigę diegti ir paleidę Unity, esame paraginti prisijungti naudodami savo paskyrą.

Tada vėl jūsų bus paprašyta pasirinkti prenumeratą, taip pat sutelksime dėmesį į asmeninę. Tokiu atveju turėsite patvirtinti, kad įmonės metinės pajamos yra mažesnės nei 100 000 USD arba kad „Unity“ naudojama mokymo tikslais.

Pabaigoje siūloma atlikti nedidelę apklausą, kurioje reikia atsakyti, ką darote ir kokiu tikslu diegiate Unity.

3 veiksmas. Sukurkite naują projektą

Sukonfigūravę „Unity“, patenkame į projekto pasirinkimo / kūrimo ekraną. Paspauskite čia Nauja sukurti savo naujas projektas.

Po to pasirodžiusiame lange jūsų bus paprašyta įvesti projekto pavadinimą ir katalogą, kuriame jis bus. Taip pat nepamirškite pažymėti langelio 3D norėdami naudoti redaktorių 3D režimu.

Baigę tai spustelėkite Sukurti projektą sukurti projektą. Po to atsidarys redaktoriaus langas su iš anksto sukurta scena.

Mes dar nenagrinėsime programavimo subtilybių ir imsime, pavyzdžiui baigtas žaidimas. Tam yra Turto parduotuvė, kuriame yra daugybė paruoštų modelių, animacijų, garsų (ir net žaidimų), tiek mokamų, tiek nemokamų.

Norėdami atidaryti Turto parduotuvę, jums reikia meniu Langas pasirinkti Turto parduotuvė(klavišų derinys ctrl-9).

Atsidarys parduotuvės langas. Paieškos juostoje įveskite " Flappy bird stiliaus pavyzdinis žaidimas“ ir atidarykite nemokamą pavyzdį, kurį naudosime savo projekte.

Paspaudus parsisiųsti ir atsisiuntę jį galėsite importuoti į savo projektą. Norėdami tai padaryti, spustelėkite Importuoti, po kurio pasirodys įspėjimas, kad po importavimo projekto nustatymai bus pakeisti.

Sutikę importuoti, pamatysite langą, kuriame turėsite pasirinkti, kuriuos komponentus importuoti. Pasirinkite viską ir spustelėkite Importuoti.

Kai importavimas bus baigtas, naujus failus pamatysite projekto naršyklėje. Tai yra žaidimo failai. Norėdami atidaryti sceną redaktoriuje, išskleiskite „Flappy Bird“ stilius - scenos ir dukart spustelėkite Pagrindinis.

Dėl to žaidimo scena atsiras 3D redaktoriaus lange.

Galite patikrinti, kaip žaidimas veikia tiesiai Unity, spustelėję mygtuką žaisti virš redaktoriaus lango.

4 veiksmas Sukonfigūruokite „Android“ įrankius

Pastaba: jei naudojate Android studija, tada jūs jau turite viską įdiegę būtini komponentai ir todėl galite saugiai pereiti prie kito žingsnio.

Norėdami surinkti gautą žaidimą „Android“, turite įdiegti šiuos įrankius:

  • Java plėtros rinkinys (JDK). Jį galite atsisiųsti iš „Java“ svetainės. Paspaudę nuorodą pamatysite pačiame viršuje „Java“ platforma (JDK), spustelėkite parsisiųstišalia užrašo, tada pasirinkite operacinę sistemą ir pradėkite atsisiuntimą. Po to tiesiog vykdykite montuotojo nurodymus.
  • Android SDK. daugiausia paprastu būdu Norėdami įdiegti naujausią versiją, turite atsisiųsti „Android Studio“, su kuriuo yra šis SDK. Norėdami tai padaryti, eikite į „Android Studio“ svetainę ir spustelėkite Atsisiųskite „Android Studio“.. „Android Studio“ diegimo programa įdiegia pagrindinius „Android“ SDK komponentus, reikalingus „Android“ kūrimui.

5 veiksmas. Paruoškite projektą paleisti

Pirmiausia turite pakeisti kūrimo platformą į „Android“. Norėdami tai padaryti, Unity atidarykite meniu Failas ir pasirinkite Sukūrimo nustatymai.

Pasirodžiusiame lange pasirinkite Android ir tada paspauskite jungiklio platforma.

Platformos jungiklis mums sako, kad kursime „Android“ programą. Tai reiškia, kad kai kursime programą, Unity sukurs APK failą. Platformos jungiklis taip pat verčia „Unity“ iš naujo importuoti visą projekto turtą. Nedidelio projekto atveju tai neužtruks ilgai, tačiau atminkite, kad ši operacija gali užtrukti ilgai atliekant didelius projektus.

Dabar turime pateikti programos paketo pavadinimą.

Pastaba: Paketo pavadinimas yra unikalus programos identifikatorius ir yra parašytas atvirkštiniu DNS stiliumi formatu com.CompanyName.ProductName. Kai programa bus paskelbta „Google Play“, paketo pavadinimo keisti nebegalima.

Norėdami tai padaryti, eikite į meniu Redaguoti ir pasirinkti Projekto nustatymai – grotuvas.

Dešinėje Unity pusėje atsidarys langas su daugybe skirtingų nustatymų, tokių kaip programos versija, tikslas ir minimalus SDK, piktogramų pasirinkimas ir kt. Čia mums reikia bloke Kiti nustatymai rasti Identifikavimas ir lauke nustatykite paketo pavadinimą paketo pavadinimas. Taip pat galite pakeisti kitus nustatymus, jei norite.

Dabar belieka tik nurodyti kelią į Android SDK ir JDK. Norėdami tai padaryti, eikite į meniu ir pasirinkite Redaguoti-Nuostatos.

Pasirodžiusiame lange eikite į Išoriniai įrankiai ir laukuose SDK ir JDK nurodykite tinkamus kelius ir uždarykite langą.

6 veiksmas: kurkite ir paleiskite programą

Atėjo laikas sukurti savo pirmąją Unity programą. Norėdami tai padaryti, pasirinkite iš meniu Failas – kūrimo nustatymai. Atsidarys langas, kuriame turėsite pridėti sceną, kurią norite surinkti. Kadangi ši scena jau atidaryta redaktoriuje, tiesiog spustelėkite Pridėti atvirų scenų pridėti jį prie surinkimo, pridėję jį pamatysite scenų sąraše.

Belieka tik paspausti Sukurti, po kurio Unity pradės kurti programą. Prieš tai jūsų gali būti paprašyta pasirinkti aplanką, kuriame bus išsaugoti surinkti programų failai, taip pat APK failo pavadinimą.

Pastaba:šiuo metu, jei „Android“ SDK įdiegta alfa versija Sukūrimo įrankiai(versija 28.0.0-rc1), statant Gradle bus rodoma klaida. Norėdami tai išspręsti, tiesiog pašalinkite šią versiją iš „Android“ SDK.

Dėl to sukurtas APK failas bus rodomas jūsų nurodytame aplanke, paruoštas įdiegti emuliatoriuje arba tikrame įrenginyje.

Pažiūrėkime, kas yra sukurtame APK. Norėdami tai padaryti, naudojame įrankį APK analizatorius, kuris yra įtrauktas į „Android Studio“,

Nesuglaudinto APK failo dydis yra 21,1 MB, suspaustoje 20,9 MB. Kaip matote iš grafiko, didžiąją tūrio dalį užima trečiųjų šalių bibliotekos, kurias pridėjo Unity. Tada į turto yra visi surinktoje scenoje naudojami ištekliai. Failas klases.dex yra tik 89 klases ir 479 metodus.

Be to, jei pažvelgsite į AndroidManifest.xml, paraišką sudaro viena veikla.

Išvada

Tai viskas. Šiame straipsnyje sužinojome, kaip įdiegti ir konfigūruoti „Unity“, taip pat sukūrėme pirmąją „Android“ programą.

„Unity“ yra variklis, kuriame dauguma šiuolaikiniai žaidimai skirtingose ​​platformose. Per variklį tikrai galima sukurti žaidimus, kurie yra orientuoti veikti kompiuteriuose (Windows, Linux, MacOS), Mobilieji telefonai, planšetiniai kompiuteriai (Android, iOS) ir net žaidimų konsolės PlayStation, Xbox, Nintendo.

Kaip sukurti žaidimus Unity?

Vienybė yra pagrįsta į komponentus orientuota koncepcija. Tiesą sakant, bet kurį žaidimą sudaro daugybė objektų, praskiestų papildomais komponentais. Pavyzdžiui, platformingo kūrimo metu sukuriame GameObject, prie jo papildomai pridedame grafinį komponentą, kuris yra atsakingas už simbolio atvaizdavimą ir valdymo komponentą, kuris suteikia veikėjo valdymą naudojant pelę, klaviatūrą, vairasvirtę ar liečiamas ekranas. Variklis neriboja tokių modulių skaičiaus. Prie GameObject galime pridėti tiek komponentų, kiek reikia. Visas darbas su varikliu grindžiamas pačiu „GameObject“ sukūrimu ir tinkamų komponentų pritaikymu jiems.

Pradedantieji gali būti suklaidinti dėl akivaizdaus proceso paprastumo, nors taip nėra. Norėdami sukurti unikalų ir populiarų žaidimą, turite parašyti daug komponentų nuo nulio. Tiksliau, Unity aplinkoje tai vadinama scenarijumi. Gimtoji scenarijų kalba yra C#, tačiau iš dalies naudojamos ir JavaScript bei Boo (apkarpyta Python versija). Sukurti savo komponentus nėra lengva, netgi galima sakyti, tai sudėtinga procedūra, tiesiogiai susijusi su klasikiniu programavimu. Be pakankamo lygio programavimo žinių bus sunku.

Palaikomos platformos

Daugelis didelių projektų teikia pirmenybę „Unity“ dėl didžiulio su varikliu suderinamų platformų sąrašo. Užbaigtą programą galima paleisti bet kurioje kompiuterio operacinėje sistemoje, populiariose mobiliosiose platformose ir „SmartTV“. Ką galime pasakyti, net naršyklės žaidimai ir programos konkrečioms platformoms ( kaip Tizen OS) daugiausia kuriami Unity.

Tačiau čia ne viskas taip sklandžiai. Jei reikia, galite parašyti konkrečius algoritmus pagal žemo lygio kodą, tam pačiam Android reikia gerai išmanyti Java.

Tas pats pasakytina ir apie iOS. Dar viena iOS ypatybė – jai kurti galima tik iš Apple kompiuterio ar planšetinio kompiuterio. Nesant „Macbook“ ar panašaus įrenginio, žaidimo išleidimas greitai sustos ir „Unity“ neturi nieko bendra, pati „Apple“ taiko panašų apribojimą. Išvada paprasta: jei planuose yra iOS plėtra, derėtų iš anksto pasirinkti tinkamą įrenginį surinkimui.

Kaip ir kur sukurti žaidimą variklyje?

Galime atlikti ilgą žaidimų kūrimo procesą tiek Windows, tiek Mac OS X sistemoje. Jau yra redaktoriaus versijos, skirtos Linux, tačiau kol kas negalime tikėtis jų stabilaus veikimo. Kūrėjas didžiąją laiko dalį praleidžia kurdamas žaidimą Unity redaktoriuje. Dar turime daug laiko parašyti scenarijaus kodą, galime jį sukurti arba standartiniame MonoDevelop, arba bet kuriame trečiosios šalies redaktoriuje. Dabar jie aktyviai naudoja „Visual Studio“, taip pat „Sublime Text“, bet tik su tinkama konfigūracija.

Plėtra mobiliosios programos yra viena iš pelningiausių profesijų kompiuterių pramonėje. Android žaidimo sukūrimas kainuoja šimtus ar tūkstančius dolerių, o pelnas gali siekti iki milijono dolerių. Šiuo atžvilgiu daugelis žmonių domisi telefono programų kūrimu. Šiame straipsnyje sužinosite, kaip sukurti „Android“ žaidimą nuo nulio naudojant kompiuterį, kurį variklį ir dizainerį geriau pasirinkti.

Nė vienas sėkmingas žaidimas neapsieina be gražios grafikos, todėl dizaino kūrimas yra vienas svarbiausių kūrimo etapų. „Android“ OS dizainas įgyvendinamas naudojant „dizaino dokumentą“ arba dizaino dokumentą. Turite pradėti kurti žaislą su išsamiu jo tyrimu. Faile yra:

  1. Objektų modeliai;
  2. Funkcinės specifikacijos;
  3. Žaidimo turinys;
  4. Sąsaja.

Panagrinėkime kiekvieną iš punktų išsamiau.

Objektų modeliai

Tai informacija apie kiekvieno elemento funkcionalumą. Objektų modeliai yra atsakingi už galimybę pirkti ir parduoti daiktus, taip pat už veikėjų žaidimo savybių gerinimą.

Funkcinės specifikacijos

Jame aprašomas žaidimo eiga, pagrindinės kiekvieno veikėjo savybės. Jame taip pat aprašomos funkcijos žaidimo elementai- ginklai, pirmosios pagalbos vaistinėlės, šarvai ir kt. Iš esmės funkcinės specifikacijos yra taisyklės, kurių laikantis žaidimo procesas. Kuo geriau šis skyrius bus parengtas, tuo lengviau bus sukurti aukštos kokybės „Android“ žaidimą.

Žaidimo turinys

Tai yra žaidimo teksto užpildymas. Jame aprašomi veikėjų dialogai ir su kokiais ginklais galima atmušti žalą, kiek sveikatos pareikalaus smūgis, kokios savybės padidės naudojant įvairią įrangą. Jame taip pat yra Išsamus aprašymas kiekvienas elementas.

Sąsaja

Sąsaja yra tai, kaip vartotojas sąveikaus su žaidimu. Jame yra mygtukai, kuriais galite valdyti veikėją, ir meniu skyriai: pavyzdžiui, žaidimas, rezultatas, nustatymai, geriausi žaidėjai, pagalba. Jei neturite Android programų kūrimo patirties, prieš kurdami savo, atsisiųskite iš „Play Market“ ir analizuokite populiarūs žaidimai ir perkelkite geriausius sprendimus į savo projektą.

Žaidimo variklis

Bet kurio žaidimo esmė yra variklis. tai programinė įranga, leidžianti ją kurti ir valdyti. Jame yra daugybė programų, įskaitant atvaizdavimo variklį, fizinį variklį, garsą, animaciją ir daug daugiau. Siekdami palengvinti programų rašymo procesą, trečiųjų šalių kūrėjai kuria savo žaidimų variklius, skirtus specialiai „Android“ programoms.

Kiekvienas iš jų siūlo skirtingas funkcijas: vieni yra skirti 3D, kiti 2D, gali būti palaikomos kelios platformos. Tokių variklių yra daugybė, tačiau jei esate pradedantysis, geriau pasirinkti vieną iš populiariausių, nes ten bus visos reikalingos funkcijos.

UDK

Sukimo momentas 2d/3d

Kas yra žaidimų dizaineris?

Constructor yra programa, sujungianti žaidimo variklį ir integruotą kūrimo aplinką. Konstruktorius daro kūrimo procesą prieinamą žmonėms, kurie neturi programavimo įgūdžių. Vieni dizaineriai leidžia kurti tam tikro žanro žaidimus, kiti pasižymi maksimaliu funkcionalumu, tačiau kainuoja daug daugiau pinigų. Pradedančiam mobiliųjų aplikacijų kūrėjui dizainerio pasirinkimas yra vienas iš svarbiausių momentų, nes nuo jos galimybių priklausys būsimos aplikacijos likimas.

Konstruktorius leidžia kurti įvairaus žanro žaidimus Windows, Android ir iOS. Pasiūlymai didelis pasirinkimas paruoštos vietos, objektai, personažai ir garso dizainas, todėl pirmojo Android žaidimo sukūrimas neužims daug laiko. Vartotojai, susipažinę su JS ir C++ programavimo kalbomis, gali naudoti įterptąjį GML. Vienintelis trūkumas yra tai, kad programa nėra išversta į rusų kalbą.

Išvada

„Android“ žaidimo kūrimas nėra lengvas, bet labai pelningas verslas. Jei nuspręsite sukurti žaidimą ir užsidirbti pinigų, pirmiausia išsiaiškinkite idėją. Tada parašykite „dizaino dokumentą“ ir nuspręskite dėl žaidimo variklio, kuris gali maksimaliai išnaudoti savo potencialą. Po to galite pereiti tiesiai prie programos kūrimo konstruktoriuje.

Vaizdo įrašas

Norėdami sužinoti daugiau apie „Android“ žaidimų kūrimo procesą, peržiūrėkite šiai veiklai skirtą vaizdo įrašų seriją.

Kaip greitai parašyti „Android“ žaidimą naudojant „Unity“.

Šiuo metu kiekvienas gali tapti sėkmingu mobiliųjų žaidimų ar programų kūrėju nedėdamas titaniškų pastangų. Tokio atvejo pavyzdys yra Dong Nguyen, kuris sukūrė „Flappy Bird“. Žaidimas neturėjo jokios sudėtingos mechanikos ar grafikos, tačiau tai nesutrukdė jam išpopuliarėti ir atnešti jo kūrėjui penkiasdešimt tūkstančių dolerių per dieną. Tačiau žaidime nebuvo nieko nuostabaus. Viskas, ko reikėjo, kad pasisektų, buvo būti tinkamoje vietoje tinkamu laiku ir šiek tiek sėkmės. Panašūs dalykai gali nutikti ir šiandien, tereikia tinkamos idėjos.

Norėdami parodyti, kaip lengva parašyti kažką panašaus, šiandien mes parašysime savo „Flappy Bird“ naudodami „Unity“ vos per 10 minučių.

žaidimo personažas

Pirmiausia sukurkite naują projektą ir įsitikinkite, kad pasirinkta 2D parinktis.

Įkelkite savo paukštį į sceną. Nepamirškite įjungti savo vaizduotės!

Tada sureguliuokite sprite dydį pagal savo skonį, vilkdami jį už kampo norima kryptimi. Sprite turėtų būti matomas kairėje esančiame hierarchijos lange. Jame matomi visi scenoje esantys objektai, o šiuo metu jų turėtų būti tik du: fotoaparatas ir paukštis.

Vilkite fotoaparatą prie paukščio ir atleiskite. Kamera turi būti po paukščiu, o tai reiškia, kad fotoaparatas dabar yra paukščio „vaikas“. Dabar fotoaparato padėtis bus fiksuota paukščio atžvilgiu. Jei paukštis juda į priekį, fotoaparatas daro tą patį.

Dar kartą pasirinkite paukštį scenoje arba hierarchijos lange. Dešinėje lange, pavadintame Inspektorius, pamatysite parinkčių ir atributų sąrašą. Čia galite valdyti įvairius kintamuosius, susietus su konkrečiu objektu.

Dabar spustelėkite Pridėti komponentą. Pasirinkite Physics2D > Rigidbody2D – tai yra paruoštas rinkinys instrukcijos, kaip pritaikyti gravitaciją mūsų charakteriui. Šiame skydelyje spustelėkite Apribojimai ir pasirinkite fiksuoti sukimąsi Z . Tai neleis paukščiui suktis su fotoaparatu.

Lygiai taip pat pridėkite daugiakampių priešpriešą, kuris praneš Unity, kur yra veikėjo ribos. Paspauskite „Play“ ir pamatysite, kaip „Sprite“ kartu su kamera be galo nukrenta žemyn.

Kol kas viskas klostosi gerai!

Dabar laikas pradėti skraidyti personažą, nes tai nebus sunku.

Pirmiausia turite sukurti C# scenarijų. Sukurkite jam aplanką (dešiniuoju pelės mygtuku spustelėkite kur nors ištekliuose ir sukurkite aplanką „Skriptai“, dešiniuoju pelės mygtuku spustelėkite ir pasirinkite Sukurti > C# scenarijus .

Pavadinkime tai „Personažas“. Dukart spustelėkite jį, kad atidarytumėte jį savo IDE, nesvarbu, ar tai būtų „MonoDevelop“, ar „Visual Studio“. Tada pridėkite šį kodą:

Viešosios klasės simbolis: MonoBehavior ( public Rigidbody2D rb; public float moveSpeed; public float flapHeight; // Tai skirta inicijavimui void Start () ( rb = GetComponent(); ) // Atnaujinimas iškviečiamas vieną kartą per kadrą 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 || transformuoti.padėtį.y< -19) { Death(); } } public void Death() { rb.velocity = Vector3.zero; transform.position = new Vector2(0, 0); } }

Šis kodas atlieka du dalykus. Tai priverčia veikėją judėti į priekį greičiu, kurį nustatome inspektoriaus, ir sukuria skrendančio paukščio įspūdį. Metodas Update() iškviečiamas pakartotinai žaidimo metu, todėl viskas, ką čia įdėsite, veiks nuolat. Šiuo atveju mes padidiname savo objekto greitį. Rb kintamasis yra RigidBody2D scenarijus, kurį savo objektui taikėme anksčiau, todėl rašydami rb.velocity turime omenyje objekto greitį.

Ekrano bakstelėjimas „Unity“ interpretuojamas kaip pelės paspaudimas, jei naudojate mobilųjį įrenginį. Paspaudę priverčiame veikėją šiek tiek pakilti aukštyn.

Kintamasis „MoveSpeed“ bus atsakingas už judėjimo greitį, o kintamasis „flapHeight“ – už paukščio skrydžio aukščio padidinimą po kiekvieno paspaudimo. Kadangi šie kintamieji yra vieši, galime juos pakeisti ne scenarijuje.

Metodas Death() taip pat paskelbtas viešuoju , o tai reiškia, kad jį gali iškviesti kiti objektai ir scenarijai. Šis metodas tiesiog grąžina simbolio vietą į pradžią. Jis taip pat bus naudojamas kiekvieną kartą, kai personažas skrenda per aukštai arba žemai. Netrukus suprasite, kodėl jis paskelbtas viešu. Linija rb.velocity = Vector3.zero; reikia pašalinti impulsą – nenorime, kad po kiekvienos mirties personažas vis greičiau ir greičiau kristų, tiesa?

Dabar galite išeiti iš IDE ir pridėti scenarijų kaip simbolio komponentą. Norėdami tai padaryti, pasirinkite mūsų paukštį ir spustelėkite Pridėti komponentą > Scenarijai > Simbolis . Dabar inspektoriuje galime apibrėžti „moveSpeed“ ir „flapHeight“ (tam yra skirti viešieji kintamieji). Priskirti kintamos reikšmės 3 ir 5 atitinkamai.

Ir dar vienas dalykas: inspektoriuje reikia pridėti veikėjo žymą. Norėdami tai padaryti, spustelėkite kur parašyta Tag: Untagged, tada išskleidžiamajame sąraše pasirinkite Player.

Kliūtys

Dabar pridėkime kliūtis: vamzdžius. Kažkas randa grybų vamzdžiuose, o kažkas – savo mirtį.

Nuvilkite „pipe sprite“ į sceną ten, kur norite, kad būtų pirmoji kliūtis, ir pavadinkite ją pipe_up .
Dabar sukurkime naują scenarijų pavadinimu Pipe:

Viešoji klasė vamzdis: MonoBehavior ( privatus simbolis; // reikalingas inicijavimui void Start () ( simbolis = FindObjectOfType(); ) // Atnaujinimas iškviečiamas vieną kartą per kadrą void Update () ( if (character.transform.position.x - transformuoti.padėtį.x >

Pridėkite šį scenarijų prie vamzdžio sprite taip pat, kaip ir anksčiau. Taigi vamzdis grįš į ekraną, palikęs kairįjį kraštą. Mes čia dar nieko nepadarėme, bet prie to grįšime.

OnCollisionEnter2D() metodas iškviečiamas kiekvieną kartą, kai vamzdis sąveikauja su simboliu. Po to iškviečiamas anksčiau sukurtas Death() metodas, grąžinantis žaidėją į pradinį tašką.

Taigi, turime vieną vamzdelį, kuris laikas nuo laiko išnyks ir vėl atsiras kitame ekrano gale. Pamušk ją, tu mirsi.

apversti vamzdžiai

Šiuo metu turime tik vieną vamzdžių sprite. Pridėkime dar vieną. Norėdami tai padaryti, hierarchijos lange spustelėkite dešinįjį pelės klavišą, spustelėkite Naujas 2D objektas > Sprite, tada pasirinkite norimą naudoti sprite. Dar lengviau tiesiog nuvilkti failą į sceną.

Pavadinkite šį sprite pipe_down . Inspektoriaus dalyje Sprite Renderer pasirinkite parinktį Apversti Y, kad apverstumėte vamzdį aukštyn kojomis. Pridėkite tą patį RigidBody2D .

Dabar parašykime naują C# scenarijų pavadinimu PipeD . Jis turės panašų kodą:

Viešoji klasė PipeD: MonoBehavior ( privatus simbolis; //Tai reikalinga inicijavimui void Start() ( simbolis = FindObjectOfType(); ) // Atnaujinimas iškviečiamas vieną kartą per kadrą void Update() ( if (character.transform.position. x - transform.position.x > 30) ( ) ) void OnCollisionEnter2D(Collision2D other) ( if (other.gameObject.tag == "Žaidėjas") ( character.Death(); ) ) )

Surenkamieji gaminiai

Taigi, šio kodo mums pakanka, kad galėtume sukurti visą žaidimą. Galėtume perkelti vamzdelius į dešinę ekrano pusę kiekvieną kartą, kai jie išnyksta, arba nukopijuoti ir įklijuoti tiek vamzdelių, kiek norime žaidimo metu.

Jei einate pirmuoju keliu, įsitikinkite, kad vamzdžiai yra iškart po atsitiktinio generavimo, ir būtų sunku išlaikyti teisingą dalykų eigą. Po personažo mirties jie galėjo pasirodyti kilometrais nuo pirmojo vamzdžio!

Jei pasirinksite antrąjį kelią, viskas baigsis per dideliu atminties sunaudojimu, žaidimo sulėtėjimu ir ribota atkūrimo verte, nes. viskas kaskart lieka toje pačioje vietoje.

Vietoj to, naudokime surenkamąsias dalis. Paprastais žodžiais tariant, savo vamzdžius paversime šablonais, kuriuos vėliau galėsime panaudoti norėdami sukurti daugiau vamzdžių. Jei čia yra programuotojų, tada Pipe scenarijų laikykite klase, o vamzdžius - šio objekto pavyzdžiais.

Norėdami tai padaryti, sukurkite naują aplanką „Surenkamieji elementai“. Tada vilkite pipe_up ir pipe_down iš hierarchijos lango į aplanką.

Kiekvieną kartą, kai vilkite objektą iš šio aplanko į sceną, jis turės tas pačias savybes, todėl jums nereikės nuolat pridėti komponentų. Be to, jei pakeisite komponento dydį aplanke, tai paveiks visus žaidimo vamzdžius ir jums nereikės keisti kiekvieno atskirai.

Kaip galite įsivaizduoti, tai labai sutaupys mūsų išteklius. Tai taip pat reiškia, kad galime bendrauti su objektais iš kodo. Mes galime sukurti savo vamzdžius.

Pirmiausia pridėkite šį kodą prie sąlyginės išraiškos „Pipe“ scenarijaus metodu Update(), kurį palikome tuščią:

Tuščias naujinimas () ( if (character.transform.position.x – transform.position.x > 30) ( float xRan = Random.Range(0, 10); float yRan = Random.Range(-5, 5); Instantiate (žaidimo objektas, naujas Vector2(character.transform.position.x + 15 + xRan, -10 + yRan), transform.rotation); Destroy(gameObject); ) )

Tai reikalinga norint sukurti mūsų žaidimo objekto egzempliorių. Rezultatas – nauja identiška kopija. „Unity“ sistemoje kaskart, kai vartojate žodį gameObject , jis nurodo objektą, su kuriuo šiuo metu yra susietas scenarijus – mūsų atveju, vamzdį.

Mes iš naujo generuojame savo vamzdžius atsitiktiniais variantais, kad būtų smagiau.

Tačiau užuot darę tą patį PipeD scenarijuje, abu objektus generuojame toje pačioje vietoje. Taigi galime lengvai nustatyti antrojo vamzdžio padėtį pirmojo atžvilgiu. Tai taip pat reiškia, kad mums reikia mažiau PipeD kodo.

Sukurkite viešą žaidimo objektą pavadinimu pipeDown . Tada atnaujinkite kodą taip:

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); Sunaikinti (žaidimo objektas); )

Grįžkite į „Unity“ ir vilkite pipe_down surenkamąją medžiagą iš surenkamų konstrukcijų aplanko (tai svarbu!) į vietą, kur parašyta „Pipe Down“ (atkreipkite dėmesį, kaip mūsų kupranugarių dėklas pakeičiamas tarpeliu) ant pipe Sprite pipe up . Jei prisimenate, „Pipe Down“ apibrėžėme kaip viešą žaidimąObject , kuris suteikia mums galimybę bet kur nustatyti, kas tai yra objektas – šiuo atveju per inspektorių. Pasirinkę šio objekto surenkamąją konstrukciją, įsitikiname, kad sukūrus vamzdį, jame bus visi atributai ir scenarijus, kuriuos įtraukėme anksčiau. Mes ne tik sukuriame spraitą, bet ir atkuriame objektą su greitintuvu, kuris gali nužudyti veikėją.

Viskas, ką pridėsime toje pačioje PipeD scenarijaus vietoje, yra tik Destroy(gameObject) , kad vamzdis savaime sunaikintų, kai pasišalins iš kairės ekrano pusės.

Jei pradėsite žaidimą dabar, ekranas pajudės automatiškai ir mirsite, jei paspausite kurį nors iš vamzdžių. Nuskriskite pakankamai toli ir tie vamzdžiai išnyks ir vėl pasirodys priekyje.

Deja, tarp vamzdžių yra didelis atstumas ir ekranas atrodo tuščias. Galėtume tai išspręsti savo scenoje pridėję keletą surenkamų konstrukcijų, kad sukurtume nuolat neršiančių vamzdžių vamzdyną. Tačiau geriau būtų generuoti vamzdžius pagal scenarijų. Tai svarbu, nes priešingu atveju po personažo mirties vamzdžiai tako pradžioje bus sunaikinti ir vėl susidarys tuščia erdvė.

Tokiu būdu kiekvieno žaidimo įkrovimo metu galime sukurti keletą pirmųjų vamzdžių ir po veikėjo mirties grąžinti viską į savo vietas.

Begalinis skrydis

Dabar simbolių scenarijuje sukurkime viešuosius kintamuosius pipe_up ir pipe_down. Tai suteiks jums galimybę nurodyti sukurtus objektus vilkdami surenkamuosius elementus ant simbolio objekto, kaip ir tada, kai į vamzdžio scenarijų įtraukėme pipe_down.

Turime pridėti šiuos kintamuosius:

Viešas GameObject pipe_up; viešas GameObject pipe_down;

Tada parašysime tokį metodą:

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); Egzistuoti (vamzdis_žemyn, naujas Vector3(50, 16), transformuoti.sukimas); Instantiuoti (vamzdis_aukštyn, naujas Vector3(50, -8), transformuoti.sukimas); Instantiate (vamzdis_žemyn, naujas Vector3(61, 11), transform.rotation); Instantiate (pipe_up, new Vector3(61, -13), transform.rotation); )

Vieną kartą tai vadinsime metodu Update() ir vieną kartą Mirties() metodu.

Žaidimui prasidėjus, iškviečiamas Update() ir mūsų vamzdžiai dedami pagal nurodytą konfigūraciją. Dėl šios priežasties kelios pirmosios kliūtys visada bus toje pačioje vietoje. Po žaidėjo mirties vamzdžiai grįš į tas pačias vietas.

Grįžkite į Unity sceną ir ištrinkite du dabar esančius vamzdžius. Jūsų „žaidimas“ tiesiog atrodys kaip tuščias ekranas su paukščiu. Paspauskite Play ir pasirodys vamzdeliai, po kelių pirmųjų jų padėtis bus nustatyta atsitiktinai.

Pagaliau

Taip ir padarėme visą žaidimą! Pridėkite balų skaitiklį, pabandykite padaryti jį originalesnį ir tobulėdami padidinkite žaidimo sudėtingumą. Be to, nebus nereikalinga sudaryti meniu. Dar viena gera idėja – po veikėjo mirties sunaikinti ekrane esančius vamzdžius. Kai tai padarysite, laikykite jį paruoštu išleisti Zaidimu parduotuvežaidimas kišenėje! Vieną kartą panašus žaidimas pavertė kitą kūrėją labai turtingu, o tai įrodo, kad norint būti sėkmingu, nebūtina būti programavimo genijumi ar turėti turtingą leidėją. Jums tereikia geros idėjos ir dešimties minučių!

Norite rašyti „Android“ programas, bet nežinote, nuo ko pradėti? Tada peržiūrėkite mūsų puikią mokymo programą, skirtą „Android“ kūrimui.



 
Straipsniai įjungta tema:
Viskas, ką reikia žinoti apie SD atminties korteles, kad nesuklystumėte pirkdami Connect sd
(4 įvertinimai) Jei įrenginyje nepakanka vidinės atminties, galite naudoti SD kortelę kaip vidinę savo Android telefono atmintį. Ši funkcija, vadinama Adoptable Storage, leidžia Android OS formatuoti išorinę laikmeną
Kaip pasukti ratus „GTA Online“ ir daugiau – „GTA Online“ DUK
Kodėl neprisijungia gta online? Tai paprasta, serveris laikinai išjungtas / neaktyvus arba neveikia. Eikite į kitą Kaip išjungti internetinius žaidimus naršyklėje. Kaip išjungti „Online Update Clinet“ programos paleidimą „Connect Manager“? ... ant skkoko aš žinau, kada tu galvoji
Pikų tūzas kartu su kitomis kortomis
Dažniausios kortos interpretacijos: malonios pažinties pažadas, netikėtas džiaugsmas, anksčiau nepatirtos emocijos ir pojūčiai, dovanos gavimas, apsilankymas susituokusioje poroje. Širdelių tūzas, kortos reikšmė apibūdinant konkretų asmenį
Kaip teisingai sudaryti perkėlimo horoskopą Padarykite žemėlapį pagal gimimo datą su dekodavimu
Gimimo diagrama kalba apie įgimtas jo savininko savybes ir gebėjimus, vietinė diagrama kalba apie vietines aplinkybes, kurias sukelia veiksmo vieta. Jie yra vienodos svarbos, nes daugelio žmonių gyvenimas praeina iš jų gimimo vietos. Sekite vietinį žemėlapį