‫Als we naar de gebruikersinterface van Fruit Ninja kijken, kunnen we zien dat we een put hebben, ik een beste score scoor en dan hebben we
‫een timer die loopt.
‫En dat is wat we natuurlijk ook aan onze game moeten toevoegen.
‫Dus laten we doorgaan en eerst een nieuw object maken en het gamemanager noemen.
‫En hier voegen we een script toe.
‫Dus laten we een nieuw script maken en dat noemen en we wijzen een nieuw script toe aan die gamemanager.
‫Dus laten we hier een nieuw script maken in onze scriptmap en die gamemanager bellen.
‫Laten we nu de gamemanager naar ons gamemanager-script slepen, niet om het gamemanager-script naar onze gamemanager
‫te sturen en dat te bewerken.
‫Wat onze gamemanager nu zal doen, is de score tellen.
‫Laten we daar een methode en verschillende variabelen voor maken.
‫Allereerst hebben we een geheel getal nodig waaraan de scorewaarde is toegewezen, en dan hebben
‫we een tekstobject nodig.
‫En om met tekst te kunnen werken, moeten we de unity engine
‫start UI toevoegen.
‫Dus de naamruimte met de engine die gebruikersinterface nu hebben we toegang tot de tekstklasse openbare tekst en we
‫gaan die scoretekst noemen.
‫En laten we een methode maken die onze score eenvoudig zal verhogen.
‫Dus public void, verhoog de score en output, verhoog de score met, laten we zeggen twee.
‫Elke keer dat iemand deze methode of een klasse deze methode aanroept.
‫Verhogen met twee dus.
‫En dan willen we ook de scoretekst instellen.
‫Dus elke keer dat de score wordt verhoogd, willen we natuurlijk ook de tekstvariabele bijwerken.
‫Scoor dus op snaar.
‫Oke.
‫Laten we dat script nu opslaan en teruggaan naar de eenheid hier.
‫We zullen een nieuw object maken en ik ga die gebruikersinterface noemen.
‫Laten we dus de naam van het spelobject veranderen.
‫Laten we het UI noemen.
‫En laten we nu hier een UI-tekst toevoegen.
‫Ik zal het canvas maken.
‫Ik ga het canvas naar het UI-gameobject slepen.
‫En wat ik hier wil gebruiken, is dat onze canvas-scalar geen constante pixelgrootte heeft, maar meeschaalt met de
‫schermgrootte en we de resolutie kunnen instellen op bijvoorbeeld achthonderd keer achthonderd of negentien,
‫twintig keer tien tachtig, wat je maar wilt hebben.
‫Dus voorlopig hebben we alleen de tekst erin.
‫Dus laten we eens kijken hoe dit er momenteel uitziet en we zien de tekst niet, dus laten we dat maar regelen.
‫Laten we naar ons canvas gaan.
‫Daar ben je.
‫En je ziet dat onze tekst momenteel niet eens in ons spel zit.
‫Eens kijken, onze UI-elementen moeten opnieuw worden ingesteld, oké?
‫En nu kunnen we de positie van onze tekst veranderen.
‫Ik wil dat mijn cortex zich in de linkerbovenhoek van mijn gebruikersinterface bevindt.
‫Dus zoom een beetje in en laten we de directe transformatie naar linksboven veranderen.
‫Dat is het anker dat vooraf is ingesteld.
‫Dus dat betekent dat vanuit dit perspectief de waarden van X en Y worden berekend.
‫Dus laten we gewoon nul nul kiezen.
‫En je kunt zien dat onze tekst nu in deze linkerbovenhoek staat.
‫Nu zouden goede waarden bijvoorbeeld honderdvijfenzeventig zijn en laten we misschien ook de grootte
‫van onze tekst veranderen.
‫Dit wordt dus de scoretekst.
‫Dus misschien en er is een waarde zoals nul hier en verander de naam ervan.
‫School gaat zijn kerntekst noemen.
‫Nu is de lettergrootte natuurlijk een beetje te klein, dus laten we dat veranderen.
‫Laten we gaan met, laten we zeggen honderdtwintig.
‫En zoals je nu kunt zien, verdwijnt het.
‫We zien het nummer dus niet meer en dat heeft te maken met de overloop.
‫Dus als u horizontale en verticale overloop toevoegt, wordt het nummer hoe dan ook weergegeven.
‫Ongeacht de grootte hier, bijvoorbeeld vier met anhydrase voor dit object.
‫OK, dus zo zal het er momenteel uitzien, misschien is het niet de perfecte positie om ermee te spelen,
‫misschien om het daarheen te slepen.
‫Dus de Y-positie van nul, ik denk dat dat goed zou moeten zijn.
‫Laten we nu de kleur van de tekst wijzigen.
‫Laten we er een oranje of oranjeachtige kleur van maken.
‫Zoals dat allemaal, eens kijken, er is nul, natuurlijk, onze achtergrond ziet er niet meer zo mooi uit.
‫We moeten de achtergrond van ons spel veranderen, maar we hebben tenminste onze cortex.
‫Dus laten we die tekst nu dupliceren en deze tekst met een hoge score noemen.
‫En laten we nu die tekst met de hoogste score veranderen.
‫Laten we het naar beneden slepen en de nul van Best Colon invoeren.
‫En je kunt zien dat dit natuurlijk veel te groot is.
‫Dus laten we dat verkleinen tot misschien 36.
‫Dat ziet er veel beter uit in de game first zero.
‫Oké, laten we voor nu misschien de achtergrond van onze hoofdcamera veranderen.
‫Dus nu is het zo.
‫Deze kleur, deze oranjebruine kleur, en misschien ziet dit er beter uit, of voorlopig is het goed.
‫Ik denk dat dat voor nu beter is.
‫Om ons nummer er een beetje cooler uit te laten zien, kunnen we nu een overzicht toevoegen, zodat u hier
‫naar de gebruikersinterface kunt gaan.
‫Dus voeg een component toe, dan UI-effecten en dan vind je hier een overzicht.
‫Welnu, dat zal doen, wat een overzicht aan uw spel zal toevoegen, zodat u dat zou kunnen of aan uw tekst en u zou dat op
‫deze manier kunnen doen.
‫Zoals je kunt zien hoe je een rand, een omtrekrand aan je score kunt maken, sms je hier je highscore-tekst.
‫Niemand zou logisch zijn als de hoofdcamera bijvoorbeeld een felle kleur zou hebben, dan zou een zwarte er
‫beter uitzien.
‫Dus als het bijvoorbeeld deze kleur is, dan zou de score misschien een effect moeten hebben.
‫Kleur van zwart.
‫Dus ik denk dat dat er veel beter uitziet dan de tekst op de middelbare school er ook een zou moeten krijgen.
‫Dus laten we U toevoegen.
‫Ik bewerk de omtrek en zoals je nu kunt zien, zien ze er veel beter uit.
‫Oke.
‫Dus laten we nu onze scoretekst in onze code implementeren.
‫Dus onze gamemanager verwacht al een scoretekst, dus we kunnen die daarheen slepen en onze huidige score
‫wordt nul.
‫Dus als we dat bijvoorbeeld op vijf zetten, laten we eens kijken wat er gebeurt.
‫Dat gezegd hebbende, zei dat tot vijf in het spel om te zien dat er nog niets gebeurt, dus we zullen de score moeten toevoegen.
‫Dus wat betekent dat we deze methode hier moeten noemen, deze methode met verhoogde score in ons fruitscript.
‫Dus wanneer we een gesneden fruit maken, betekent dit dat we een extra score hebben gekregen.
‫Laten we om dat te doen een zoekobject
‫van het type gamemanager toevoegen en de score verhogen.
‫Dus dit zal nu de score verhogen elke keer dat we een vrucht snijden.
‫Oke.
‫Dus laten we het nu testen.
‫Laten we beginnen met het spel.
‫En laten we ons fruit doorsnijden, en zoals je kunt zien, wordt onze score elke keer met twee verhoogd, en misschien
‫willen we verschillende waarden hebben op basis van het fruit dat we momenteel hebben gesneden.
‫We snijden alleen sinaasappels, maar misschien willen we ook andere objecten snijden.
‫Dan zouden we bijvoorbeeld ook andere waarden willen hebben.
‫Dus laten we er momenteel drie toewijzen.
‫Nu krijgen we natuurlijk een foutmelding omdat de gamemanager zelf niet weet wat deze drie moeten
‫doen.
‫Dus laten we hier en nu een eindpunt toevoegen.
‫In plaats van te zeggen score plus twee plus gelijk twee, verhogen we het gewoon met het aantal punten dat wordt geleverd.
‫Dus in ons geval zijn het er nu drie.
‫Dus elke keer dat we rennen of een stuk fruit snijden, krijgen we nu drie punten.
‫Dus laten we dat heel snel bekijken, als dat waar is.
‫Dus.
‫Laten we een vrucht snijden en we krijgen nu drie punten.
‫Vervolgens moeten we een functionaliteit toevoegen die het spel stopt, want nu kunnen we het spel eindeloos spelen en krijgen we constant
‫punten en is er geen straf voor welk gedrag dan ook.
‫En daar willen we natuurlijk verandering in brengen.
‫En Fruit Ninja, dat wordt meestal gedaan door de bom of door de timer.
‫Dus als de timer afloopt, wordt het spel gestopt of als we tegen een stootje aanlopen, dan stopt de timer ook.
‫Dus laten we de bom aan ons spel toevoegen.
‫Dus laten we naar het toneel gaan.
‫Maar laten we onze modellenmap openen en hier hadden we de bom.
‫Oké, dus laten we nu naar een scène van jou gaan en de bom in ons spel slepen.
‫Nou eigenlijk is hij te groot, dus laten we hem maar weer weg doen.
‫Dus laten we de bom verwijderen en naar ons bommodel gaan.
‫Laten we nu de schaalfactor veranderen in alle drie punten en dat toepassen.
‫En nu kunnen we de bom naar binnen richten.
‫En ik denk dat die maat veel beter is.
‫Laten we er nu wat componenten aan toevoegen.
‫Hier botsen bijvoorbeeld een physics naar het starre lichaam en een physics 2D box of eigenlijk cirkel.
‫Dit zou goed moeten zijn.
‫Oke.
‫De collider past goed, vind ik.
‫Oke.
‫Dus wat willen we dat er gebeurt als we een hobbel raken?
‫Welnu, we willen het spel pauzeren en het spel op het scherm laten zien of iets dergelijks.
‫Dus laten we een script aan onze bom toevoegen.
‫Dus ik ga een nieuw script toevoegen en ik ga dat ene bomscript noemen of eigenlijk gewoon bom.
‫En nu het hier een bomscript heeft geopend, zullen we een 2D-methode bij trigger-invoer toevoegen.
‫Dus telkens als we de bom raken, willen we zien of het mes ons heeft geraakt.
‫Dus Blade B is
‫gelijk aan een botsing dat deze botsing die botsing hier is, een botsing die componenten en een blad krijgt.
‫Dus wat dat betekent, nou we hebben die code al gezien.
‫Maar wat dat betekent als het object dat werd getriggerd of geraakt, ons triggerde, als dat het mes is, doe
‫dan iets.
‫En als het niet het mes is, keer dan terug.
‫Dus als het niet wordt geretourneerd, maar als het B is, dan willen we een object van het type gamemanager vinden.
‫Dus dan willen we toegang krijgen tot onze gamemanager en een methode van hem aanroepen.
‫Dus laten we zeggen op bomaanslag.
‫Dus wanneer we nu de hobbel raken, klaagt het dat er geen methode is die wordt aangeroepen voor bomaanslag
‫en we zullen die methode vinden in onze gamemanager of we moeten die methode en de gamemanager maken.
‫Dus laten we die methode ongeldig maken bij bombe hit en dat moet openbaar zijn, zodat we er natuurlijk van buitenaf toegang
‫toe hebben.
‫Voor nu, laten we zeggen dat Bumpus hit.
‫Dus debug die log bombe hit.
‫Dus laten we dat script opslaan, laten we het script ook opslaan.
‫Nu zien we dat de fout er niet meer is.
‫Laten we dat nu eens testen.
‫Dus laten we teruggaan.
‫Laten we het Bomp-script in feite naar onze map scripts sturen terwijl we toch bezig zijn.
‫En laten we nu het spel spelen en kijken of ik een hobbel raak.
‫Eigenlijk bewoog de bom te snel, dus ik ga hem naar de top duwen, zodat ik kan
‫wat ik nu kan doen, deactiveren.
‫Zwaartekracht, laten we zeggen zwaartekrachtschaal nul.
‫En laten we kijken wat er gebeurt.
‫En ik kan de bom regisseren of slaan.
‫Eigenlijk zal er natuurlijk niets gebeuren, zo verontwaardigd als er geen trigger in de Circle Collider is.
‫Laten we nu nog eens kijken wat er nu gebeurt.
‫En zoals je kunt zien, wordt Bompard elke keer gebeld als ik door de hobbel ga.
‫Oke.
‫Dus nu kunnen we de zwaartekrachtschaal weer in één veranderen, dat was alleen voor testdoeleinden en nu zou onze bom
‫moeten werken.
‫Wat we nu willen doen, is het spel willen stoppen wanneer dat gebeurt, zodat we kunnen zeggen dat de tijdschaal van
‫de tijdstip gelijk is aan nul.
‫Dat stopt het spel gewoon.
‫Dus deze keer is die tijdschaal over het algemeen een functionaliteit waarmee je de snelheid van je spel kunt verlagen, dus nul betekent dat
‫er helemaal geen snelheid is, wat betekent dat er geen beweging is en je het spel
‫stopt.
‫En een zou zijn dat je de normale snelheid hebt.
‫Dus tijd, schaal één is de standaardwaarde en tijdschaal nul is bijvoorbeeld om het spel te stoppen.
‫Dus laten we dat script opslaan en dat nog eens bekijken en kijken of ik de bom snel genoeg kan raken.
‫Om het spel te stoppen en zoals je kunt zien, rende ik erdoorheen en mijn bommen waren eigenlijk mijn fruit gestopt en
‫de bommen stopten ook.
‫Oke.
‫Nu hebben we nog maar één bom.
‫Dus één bom is prima, maar we willen ook willekeurig bommen spawnen.
‫Om dat te doen, moeten we teruggaan naar ons spawner-spelobject.
‫Dus ons script beter gezegd.
‫Dus laten we naar het Sponer-script gaan.
‫En momenteel hebben we maar één vrucht om te paaien, dus we kunnen maar één soort fruit paaien.
‫In dit geval is het een sinaasappel.
‫Maar wat we willen is dat we sinaasappels kunnen spawnen, bananen kunnen spawnen, alles kunnen spawnen waar we aan denken,
‫en ook bommen kunnen spawnen.
‫En om dat te doen, moeten we deze vrucht veranderen om te spawnen in een array, wat een reeks game-objecten
‫is.
‫Dus laten we de vierkante haken toevoegen en laten we dat veranderen in objecten om te spawnen, want het zijn niet alleen fruit, het zijn
‫objecten in het algemeen.
‫Nu krijgen we hier natuurlijk een foutmelding omdat we één simpele vrucht proberen te spawnen en deze methode is niet
‫meer beschikbaar.
‫Dus wat we moeten doen, is dat we willekeurig een game-object moeten maken, dat een bom is of een
‫ander fruit.
‫En dan zeggen we gewoon: oké, spon dat maar.
‫Dus laten we doorgaan en dat doen, laten we een spelobject maken dat een G-gat
‫wordt genoemd en dat zei, weet je, en dan hebben we een willekeurige waarde, dus laten we een willekeurig waardebereik maken.
‫We willen willekeurig verschillende soorten fruit of verschillende soorten spelobjecten maken.
‫De bom zou bijvoorbeeld minder vaak moeten spawnen dan iets anders.
‫Oké, dus wat ik hier ga zeggen, als P lager is dan 10, omdat de waarde tussen nul en honderd kan zijn, dus als het lager is
‫dan 10, dan wil ik een bom spawnen.
‫Dus de kans op een bom is ongeveer 10 procent of de kans dat een obligatiebom spawnt.
‫Dus ik ga gewoon zeggen, goh, alles is objecten om te spawnen op de positie nul.
‫Dus nu moet ik dit natuurlijk regelen of ik moet de bom
‫op nul zetten en anders.
‫Dus anders wil ik een doel stellen met objecten om te spawnen met een willekeurig bereik tussen één en objecten om te spawnen.
‫Dus dat zal volstaan met een kans van 10 procent.
‫Ik ga een band creëren.
‫En met een kans van 90 procent ga ik een ander soort fruit
‫maken en hier moet ik natuurlijk accolades gebruiken omdat dit een index is waaraan we dit proberen toe te wijzen.
‫OK, dus nogmaals, 10 procent kans dat het een hobbel is en 90 procent kans dat het iets willekeurigs
‫is van alle andere objecten die we hebben toegewezen.
‫En natuurlijk maken we geen vrucht meer om te spawnen.
‫We instantiëren dat game-object.
‫Natuurlijk zou je een object kunnen maken om te spawnen, wat je fruit noemt om te spawnen.
‫En dan zou je natuurlijk kunnen zeggen: public game object bombe.
‫En dan zou je de bom hier gewoon kunnen toewijzen en je zou nu Geode kunnen veranderen in Bamp hier.
‫Dat zou een optie zijn.
‫Natuurlijk zou je bereik hier van nul tot ergens zijn.
‫Dat zou nog een optie zijn.
‫Misschien is dat zelfs een iets intuïtievere optie omdat de bom een heel specifiek soort fruit is.
‫En wat we nog meer toevoegen, we kunnen toevoegen zoals we willen.
‫Omdat de andere manier die ik je net liet zien, we altijd moesten oppassen dat we de bom
‫aan de allereerste plek toewijzen.
‫En dat weten we omdat we de code hebben gemaakt.
‫Maar als iemand anders de code begint uit te voeren of de code begint te bewerken, kan hij daarover in de war zijn.
‫Oke.
‫Dus nu zorgen we ervoor dat het hier de bom wordt.
‫Laten we dat nu bewaren.
‫En laten we teruggaan naar Unity.
‫Daar zul je zien wat er gebeurt, dus onze spawner zou fruit moeten krijgen om te paaien.
‫Momenteel is het alleen maar de sinaasappel en na een paar seconden zou het moeten veranderen van wanhoop van fruit naar objecten
‫om te spawnen en BAMP.
‫Oke.
‫Dus er is de bom en de objecten om te spawnen.
‫En ik ga gewoon zeggen dat het momenteel een object zal zijn dat ik wil spawnen.
‫En laten we nu naar onze prefab gaan en de sinaasappel daar naar binnen slepen.
‫Dus spawner richt de sinaasappel hier naar binnen.
‫En nu over de hobbel, eigenlijk hebben we nog geen prefab bump, dus laten we een
‫prefab-bond maken, laten we de hobbel in onze prefab-houder slepen en laten we die hobbel nu in onze spawner slepen.
‫Om dat te testen, moeten we misschien de waarde hier op 50 zetten, zodat er een kans van 50 50 is
‫dat er een bom komt.
‫Dus gewoon om te kijken of er bommen zijn waar de bommen komen in het algemeen.
‫Oke.
‫Er is dus een bom.
‫Sinaasappels, palmen, sinaasappels, palmen.
‫En als ik een hobbel raak, nou, ik raak hem buiten, maar ik raakte de hobbel en nu, boem, stopt het spel.
‫Dus laten we nu kijken of we.
‫Laten we dat terugbrengen naar tien.
‫Dat is beter.
‫En nu is de kans dat er een bom komt nog maar 10 procent.
‫Natuurlijk.
‫En zoals je ziet, sinaasappels, sinaasappels, sinaasappels, en dan krijgen we de hele tijd punten, op een gegeven moment kan er een
‫bom komen.
‫Tot nu toe was er niemand.
‫Eigenlijk, kom op, Westerbork, zoals je ziet, dat heb je toch met kanshebbers?
‫Kansen zijn gewoon toeval.
‫Het kan gebeuren dat ik hier een triljoen sinaasappels krijg voordat ik een hobbel krijg terwijl de kans erg laag is en
‫er een perfect is.
‫Oke.
‫Het kostte dus nogal wat.
‫Zoals je kunt zien, heb ik al 40 sinaasappels gedood voordat ik één bult kreeg, wat betekent dit 10 procent.
‫Nou, het is 10 procent.
‫Het kan elk moment gebeuren.
‫En het gebeurde pas na bijna 40 of misschien zelfs 50, ik denk zelfs 50 sinaasappels, want ik heb ze niet
‫allemaal geraakt.
‫Oke.
‫Dus ik zou zeggen, laten we naar de volgende video gaan waar we zullen zien hoe we het spel kunnen beëindigen en opnieuw kunnen beginnen in ons
‫spel.
‫Dus tot ziens daar.