De invoering van de gameplaykit: 1

, tot gameplaykit ingevoerd: 1, 27,,,,,,,,,,, 11 de,,,,,,, het netwerk van delen van maandag wat in tuts + koers zal dalen tot slechts drie dollar.Niet' niet missen, een deel van de prijs van een reeks genaamd de gameplaykit gameplaykit, deel 2, wordt ingevoerd:,,, en alle en in het kader van de nieuwe functies, IOS - 9, en de OS x el capitan, dit jaar, van de appel heeft ook een nieuw kader om tegemoet te komen aan de ontwikkeling in het spel,  , gameplaykit,.   bestaande grafische API (SpriteKit, SceneKit en metalen) om het gemakkelijker te maken voor de fiscus en de OS X tot het grote spel, die appel nu gameplaykit gemakkelijk te creëren    , spelletjes, heel goed.Dit nieuwe kader bevat vele soorten en functioneren, kunnen worden gebruikt om de toevoeging van de logica van complexe spel.,, in deze les. Ik zal je leren gameplaykt kader omvat twee aspecten:,, entiteiten en de vergadering, staat de machine, in de veronderstelling, deze les is dat je die aanvragen in os X 7,,,   yosemite National Park, of later.   niet nodig, dat je er een fysieke IOS - 9 op het apparaat, je zou beter functioneren, SpriteKit spel in deze handleiding te gebruiken.,, 1.   beginnen, moet je eerst van github downloaden van de serie start project.Als je dat doet, open de projecten en aanvragen in de simulator of apparatuur die het IOS.,, zie je dat het een zeer fundamentele spel, heb je een blauw en een kaart.Als je met een rode punt botsen, dan verlies je twee punten.Als je met een groene punt botsen, krijg je een punt.Als u tegen een gele stip, je jezelf bevriest een paar seconden. In dit stadium,,,,,, en dit is een zeer fundamentele spel, maar in deze reeks tijdens de les, en gameplaykit hulp, zullen we nog meer taken en elementen, spelen. 2.Entiteiten en de vergadering, die in het kader van de nieuwe gameplaykit eerste is het belangrijkste aspect van de structuur van een code op basis van het concept van de entiteit, en  ,  , vergadering.Het principe is dat je, de ontwikkeling van personeel, de opstelling van een gemeenschappelijke code, met veel verschillende voorwerp vormen, in je spel, met behoud van een goede organisatie en beheer.Het concept van de entiteit en de vergadering is om een einde te maken aan de gemeenschappelijke erfenis van de basis voor het gemeenschappelijke doel van de gemeenschappelijke taken tussen soorten.De makkelijkste manier om het begrip van het concept en een voorbeeld is, dus de volgende scène, je denkt: is de opbouw van een toren verdediging spel drie soorten toren, vuur en ijs, en genezen.Deze drie soorten toren zal delen een aantal gemeenschappelijke gegevens, zoals de volksgezondheid, de omvang en de intensiteit.Je vuur, en waar nodig kunnen op inkomende vijand, en je geneest de toren niet.Alles wat je hoeft te doen is het herstel van de toren en de andere toren je binnen een bepaalde straal ze heeft pijn.,, dat de fundamentele model van het spel in het hart, laten we eens kijken of je de code kan worden de organisatie en het gebruik van  , erfenis, structuur,  : ouders, toren, met gemeenschappelijke gegevens, zoals de omvang en de intensiteit van de gezondheid, klasse, firetower  .,,,,, en icetower,  , healtower, soort van  , toren klasse, in  , healtower, klas, bent u verantwoordelijk voor het genezen van je andere toren moet binnen een straal van logica.,, tot nu toe, deze structuur is goed, maar de vraag is nu: als je ijs en vuur nodig om de doelgerichtheid van de toren.Je bent het kopiëren en plakken van dezelfde code van je, firetower, en  , icetower, klas?Als je moet veranderen van een wijziging nodig is op een aantal plaatsen, is de code veranderd, het is vervelend en fouten.Op deze basis, als je wilt dat een nieuwe toren, moeten ook de functie van deze doelstellingen, wat er gebeurt.Je kopiëren en plakken van een derde keer?,, de beste manier is om dit doel te   logica in de moeder  , toren.Dit kan je alleen maar een code van een kopie, maar op één plek te bewerken.De toevoeging van deze code hier, echter, zal  , toren groter en moeilijker dan het moet al haar kinderen niet nodig wanneer de functie van klasse.Als je het nog wil nog meer delen je toren, tussen je, toren zal geleidelijk groter wordt, en dat zou het moeilijk maken voor het werk. En, zoals je kunt zien, hoewel het mogelijk is dat het creëren van een model op basis van het spel van de erfenis, snel kunnen worden verspreid en moeilijk te beheren.,, laten we nu eens kijken naar het model van de structuur kan worden gebruikt   spel  , entiteiten, en  , bestanddelen:,, we creëren, firetower,   icetower,,,, en  , healtower,   entiteiten.De entiteit kan niet meer na de aard toe te voegen aan de toren creëren. En we hebben ook gezorgd voor een  , basictower,   onderdelen bevat, de omvang en de intensiteit van de gezondheid, enz. In bepaalde, in het kader van de toren je genezen, we zullen nog een  , genezen,   vergadering, een  ,. Gerichte,   onderdelen bevat die nodig zijn om de doelstellingen van de vijand zal de code, het gebruik van de structuur, de gameplaykit, zal je er een in je spel in elke toren de unieke aard van de entiteit.Elke afzonderlijke entiteiten, je kunt nog vereiste onderdelen, wil je.Bijvoorbeeld:,, je  , firetower,  , icetower,   entiteit zullen elk een  , basictower,   en  , gerichte,   vergadering   contact. En je  , healtower   entiteit, zal er een  , basictower,   en  , genezen, bestanddelen, zie je. Door gebruik te maken van De structuur van de bestanddelen van de entiteit en de wijze van je spel nu eenvoudiger en flexibeler te maken.Je moet een logica die alleen de doelstellingen één keer geschreven, maar het moet nodig in verband met de entiteit.Als je de toren van gegevens gemakkelijk kunnen delen nog steeds al je toren niet al je tussen de uitbreiding van de andere gemeenschappelijke kenmerken.,, een andere geweldige dingen, deze entiteiten en de structuur van de bestanddelen van de onderdelen kunnen worden toegevoegd, en verwijderen van de entiteit, wanneer je tijd.Bijvoorbeeld, als je wil dat je genezen van de toren is onder bepaalde voorwaarden uit te schakelen, je kan eenvoudig verwijderen van  , genezen, deel   van de entiteit aan de juiste voorwaarden is voldaan.Als je wil dat je de toren om tijdelijk de bevoegdheden, kan je nog een deel van je  , genezen,    , firetower, een specifieke eenheid van tijd  ., en nu ben je het comfort en de entiteit het concept en de structuur van dat model, gebaseerd op het spel, is het creëren van een In onze je eigen spel.In de   aanvragen, documenten, inspecteur,   vinden, entiteiten, in uw project MAP.Voor het gemak, zijn er drie categorieën van entiteiten van je, maar je moet nu beginnen met het creëren van een nieuwe   entiteit.,, de keuze van de nieuwe documenten > > document, of in  ... Met 'n bevel  , het creëren van een nieuwe klasse.Om ervoor te zorgen dat de keuze van cacao aan,   model, 108 > bron, Festival.De naam van de soort, de atleten, en om het    , gkentity subklassen.,,,,, dan zie je het openen van nieuwe documenten onmiddellijk na de aanvragen vertoont een fout.Om dit probleem op te lossen, worden de volgende verklaring, in de bestaande  , verklaring van de invoer gameplaykit werken:,,,, naar  , playernode. SWIFT,   en de toevoeging van de volgende eigenschappen:  , playernode, klasse,, de VAR - entiteit = player (), de volgende in   onderdelen, navigatie, de aanvragen in je project MAP, en het creëren van een nieuwe klasse van, zoals je eerder deed.Deze keer,   naam, flashingcomponent, en maakt het  , gkcomponent   van categorieën, zoals hieronder aangegeven.,,,,, die je net maakte van de component aan visie met blauwe punt als het op een rode punt, is de   onberispelijke staat.Ter vervanging van de inhoud van  , flashingcomponent. SWIFT, de volgende:   invoer invoer, invoer, gameplaykit werken SpriteKit klasse flashingcomponent:gkcomponent {VAR nodetoflash:sknode!De functie van startflashing () {laat fadeaction = skaction. Sequentie ([skaction. Fadeoutwithduration (0,75), skaction. Fadeinwithduration (0,75)]) nodetoflash. Runaction (skaction. Repeatactionforever (fadeaction), de belangrijkste: "flash") {} deinit nodetoflash. Removeactionforkey ("Lightning")}}, uitvoering, Alleen een verwijzing naar een een  , sknode, voorwerpen en herhaalde vervagen en verloop van de acties, als onderdeel van het spel, scène terug,.,. SWIFT,   en de toevoeging van de volgende code ergens in de  , didmovetoview (_:). De methode:,, ///////toegevoegde ingrediënten laten flash = flashingcomponent () flash.nodetoflash = playernode flash. Startflashing playernode (). De entiteit. Addcomponent (-),We hebben een  , flashingcomponent, voorwerpen en instellingen voor het vervullen van de punten - speler.De laatste regel, dan zal de vergadering toe te voegen aan de entiteit voor het behoud van de activiteiten en de uitvoering.Nu zie je je blauwe punt langzaam vervagen herhaaldelijk. Alvorens over te gaan tot een,,,,,, het schrappen van de   code toe te voegen, didmovetoview (_:), de methode.Daarna moet je de toevoeging van deze code terug, maar alleen als je de blauwe punt in de staat van onoverwinnelijkheid.,, 3.   staat machine, in gameplaykit, staat de machine die je gemakkelijk te identificeren en de uitvoering van het mandaat van   staat, op basis van de huidige, op een manier die een specifiek Doel.Sinds het begin van de verdediging van een mogelijk voorbeeld staat voor elke toren kan omvatten, de activiteiten, de,, personen met een handicap, en vernietiging.- een van de belangrijkste voordelen van de staat is aangewezen, kan je een andere staat kunnen bewegen.De Verenigde Staten en drie gevallen genoemd, met behulp van een machine, kun je de machine, de toren van personen met een handicap:,, een initiatief kan worden, en vice versa, een toren vernietigd kunnen worden, wanneer de, actief, of een handicap, een toren, nee, een  , actief, of  , personen met een handicap, als vernietigd,  ,,, in het spel in deze handleiding, houden we het heel eenvoudig, maar een  , normale  , en  , perfect  , staat de,,, in uw project  , staat de machine  , folders, de invoering van twee nieuwe soorten.Ze namen  , staat, en  , invulnerablestate, respectievelijk de    , beide partijen, gkstate subklassen  .,,,,, in plaats van de inhoud van  , snel   staat. De volgende:,, de invoer van dergelijke invoer gameplaykit werken SpriteKit staat: gkstate {VAR -: playernode ondernemers (playernode lymfeklieren:) {} - functie - = lymfeklieren isvalidnextstate (nationale programma 's: anyclass) - > booleaanse {- landen (zaak invulnerablestate klas. Type: terug naar de standaard: vals}} herschrijven. Didenterwithpreviousstate (PreviousState parameters: gkstate???????)- als dat _ = PreviousState parameters?Invulnerablestate {knooppunten (flashingcomponent). De entiteit. Removecomponentforclass node. Runaction (skaction. Fadeinwithduration (0,5)}}}, de  , normale, soort, omvat de volgende elementen:,, het bereiken van een eenvoudige verwijzing naar de huidige - speler gestart om de verwezenlijking van het  , isvalidnextstate (_:) en De methode.Dit is een methode om de terugkeer van een boolean, met de vermelding of de huidige categorie kan worden verplaatst naar de methode van de parameters van de staat voor de klasse, van de klasse omvat ook de verwezenlijking van  , didenterwithpreviousstate (_:),   call - back - methode.In toepassing van de methode van de staat is, we kijken naar eerdere  , invulnerablestate, staat, als het waar is, van de entiteit het schrappen van flash - speler.,, open nu  , invulnerablestate. SWIFT,   en vervangen door het volgende: de invoer van werken, gameplaykit, klasse invulnerablestate:gkstate {VAR - playernode ondernemers (: de lymfeklieren: playernode) {} - functie - = lymfeklieren isvalidnextstate (nationale programma 's: anyclass) - > booleaanse {- landen (zaak is de normale klas. Type: terug naar de standaard: vals}} herschrijven. Didenterwithpreviousstate (PreviousState parameters: gkstate???????)- als dat _ = PreviousState parameters?Normaal staat toe te voegen aan de vergadering laat flash = {///////flashingcomponent () flash.nodetoflash = knooppunten knooppunten flash. Startflashing (). De entiteit. Addcomponent (flash)}}}, de  , invulnerablestate, klasse, de  , staat zeer vergelijkbaar.Het belangrijkste verschil is, in deze staat in je flash - toevoeging van de entiteit in plaats van spelers uit te roeien.,, nu je de staat zijn volledige en open  , playernode. SWIFT,   nog de volgende code van de  , playernode, klasse:,, var staat: gkstatemachine!De functie van enternormalstate () {zelf staat. EnterState (normaal)}, dit deel van de code, de toevoeging van een nieuwe eigenschap van de  , playernode, dat een terugkeer naar een normale toestand van handige methode.,, open nu  , spel. SWIFT,  , in   eindigt, didmovetoview (_:) Toevoeging van de volgende twee methoden,,,, playernode.statemachine: = gkstatemachine (staat: [normaal (lymfeklieren: playernode), invulnerablestate (lymfeklieren: playernode)]) playernode. Een machine. EnterState (normaal), in de lijn van de code, en creëren we een nieuwe  , gkstatemachine, en twee staat Dat het in de  , normale,,, en, tot slot, de uitvoering van de vervanging van  , handlecontactwithnode (_:), het spel    , voor de volgende categorieën  Functie:,, handlecontactwithnode (Contactpersoon: contactnode) {als contact is pointsnode {NSNotificationCenter. Defaultcenter (). Postnotificationname ("updatescore" betreft: zelf, informatie voor de gebruiker: [1] score:)} als contact redenemynode & & playernode.statemachine.currentstate!De normale {NSNotificationCenter. Defaultcenter (). Postnotificationname ("updatescore" betreft: zelf, informatie voor de gebruiker: [2]: - "punten") playernode. Een machine. EnterState (invulnerablestate) playernode. Performselector ("enternormalstate" betreft: nul, afterdelay:5)} als contact yellowenemynode & & playernode.statemachine.currentstate!Is het normaal self.playernode.enabled = valse} {}, contact. Removefromparent (), als de spelers van de blauwe punt heeft een rode vijand botsing, spelers in de  , invulnerablestate,   staat voor vijf seconden, en dan weer normaal,  ,   staat.We controleren wat de huidige stand van de uitvoering van een speler en de vijand in verband met de logica van de normale staat is, als  ,   staat,.,, de oprichting en exploitatie van je, een aanvraag tot je links en rechts van het vinden van een rode kaart.Als u tegen de rode stippen, zul je ontdekken dat je blauwe plekken en vijf seconden in de staat van onoverwinnelijkheid.,,,,,, in de conclusies van deze handleiding, ik wil je voorstellen aan deze twee gameplaykit kader, de belangrijkste aspecten van de entiteit, en onderdelen, en  , staat de machine.Ik laat zien hoe je gebruik te maken van de entiteit en de onderdelen voor de bouw van je spel model, en zal alles georganiseerd.Het gebruik van het onderdeel is van een heel eenvoudige manier om je in het spel van de functie van het voorwerp, en ik geef je ook voor de staat, met inbegrip van het aangewezen kan het aangeven van een bepaalde lidstaat kan de overgang naar en de uitvoering van de code, een bepaalde staat, in het tweede deel van Deze reeks, zullen we in een kunstmatige intelligentie, beter bekend als de kunstmatige intelligentie.De kunstmatige intelligentie zal de vijand, met het doel de spelers en het vinden van de beste route naar de spelers, en als je er geen opmerkingen of vragen om ze tot de volgende opmerkingen.

Initial Game
Creating a player entity
Creating a flashing component
Fading blue dot
Creating an invulnerable state class
Entering the invulnerable state



Previous:
Next Page: