Stap 4:4. Codering
Codering
Oke, nu is het tijd voor de iets meer saai deel. Voordat we de instellingen enzovoort veranderen de zijbar de regelnummers worden weergegeven. Dit zal u helpen om volgen.
Klik op Extra > opties dan onderaan Schakel het aankruisvak 'Toon alle opties'. Klik vervolgens op tekst Editor > alle talen en schakel onder weergave regelnummers. Klik op OK.
Laten we beginnen met een paar
gemakkelijke aanpassingen in de code.
Lijn 204 tekenreeks timeString = "tijd:" + niveau. TimeRemaining.Minutes.ToString("00") + ":" + niveau. TimeRemaining.Seconds.ToString("00");
U kunt ' tijd:' aan iets anders dat voor de resterende tijd wordt weergegeven.
Lijn 210 timeColor = Color.Yellow;
U kunt elke kleur (dit verandert de kleur van het lettertype van de tijd) 'Yellow'
Lijn 214 timeColor = Color.Red;
U kunt elke kleur (dit verandert de kleur van het lettertype van de tijd als waarschuwing tijdstip is bereikt) 'Red'
Lijn 43 privé statische readonly TimeSpan WarningTime = TimeSpan.FromSeconds(30);
U kunt '30' naar het aantal seconden resterende totdat de tijd begint te knipperen
Lijn 220 DrawShadowedString (hudFont, "SCORE:" + niveau. Score.ToString(), hudLocation + nieuwe Vector2 (0.0f, timeHeight * 1.2f), Color.Yellow);
U kunt ' SCORE:' aan iets anders dat voor de resterende tijd wordt weergegeven.
U kunt 'Gele' willekeurige kleur te wijzigen van de kleur van het lettertype van de score.
2. als je herinneren, in het begin noemde ik iets over het maken van uw volledige spelscherm. Het probleem is, want ik wil de code zo eenvoudig mogelijk te houden dus om dit te doen je moet om te veranderen van de grootte van de achtergrond afbeelding en het formaat van uw niveau.
Ten eerste, de Code:
Zet dit na Content.RootDirectory = "Content"; op regel 59
this.graphics.PreferredBackBufferWidth = 48;
this.graphics.PreferredBackBufferHeight = 8;
this.graphics.IsFullScreen = true;
Ten tweede, voor de achtergrond heb ik gebruikt een resolutie van 1600x900px (je kunt spelen met de grootte als u wilt)
Ten derde, voor de niveau grootte mijne is 23Lines door 33Collumns.
U kan ook wilt wijzigen van de kleur van de achtergrond van het scherm niet worden gedekt door uw beeld.
Regel 184 graphics. GraphicsDevice.Clear(Color.CornflowerBlue); 'CornflowerBlue' omzetten in een andere kleur. 3. Als u uw spel volledig scherm hebt aangebracht wilt u waarschijnlijk een manier om af te sluiten, recht? Voeg gewoon de volgende code na lijn 133. Als (keyboardState.IsKeyDown(Keys.Escape)) Exit();
Nu kunt u het spel afsluiten door te klikken op de Escape-toets.
4. nu laat een kijkje nemen op Level.cs
Regel 98 timeRemaining = TimeSpan.FromMinutes(2.0); Kunt u het aantal minuten besteed door het veranderen van '2.0' (.5 is gelijk aan 30 seconden) lijn 71 private const int PointsPerSecond = 5; U kunt wijzigen hoeveel punten dat u wilt uw speler ontvangen per tweede resterende wanneer u de afrit bereiken '5'. 7. nu laat toevoegen een nieuw Monster! Voeg de volgende code na regel 208 in level.cs:
geval van ':
keren LoadEnemyTile (x, y, "MonsterS");
U kunt dit toevoegen aan uw niveau met de ' maar eerst in het deelvenster oplossing explorer rechts klik 'Sprites' Selecteer toevoegen nieuwe en vervolgens map. U zal vervolgens in ons geval naam MonsterS en vervolgens importeren nieuwe animaties zoals we eerder. Opmerking: als u mij naar rechts een tutorial over het aanpassen van de Monsters alstublieft zo in de beoordelingen zeggen zou. 8. nu kunt toevoegen sommige nieuwe blokken. (Zeer vergelijkbaar met Monsters) Voeg de volgende code na regel 226 in level.cs
begaanbaar blok
Case "V":
keren LoadVarietyTile ("BlockV", 1, TileCollision.Passable);
Aan een andere letter of symbool die nog niet gebruikt om om het even wat in niveaus kunt u 'V'. U kunt ook 'BlockV' omzetten in om het even welk niet gebruikt, maar vergeet niet 'BlockV' is de naam van het Png-bestand dat moet worden geplaatst in de map 'Tegels'. '1' is het aantal frames gebruikt voor uw blok. U kunt ook 'Passable' naar 'ontoegankelijk' om te beslissen van de speler of enemys door het blok kan reizen. Ten slotte moet u de dezelfde manier waarop die we voordat deden de png-afbeelding terug in de tegels-map te importeren. Oke, voordat we gaan op er zijn twee belangrijke kenmerken weggelaten uit het spel; echter kon ik niet vinden een ideale oplossing voor incooperate deze functies. Deze functies zijn, maken de overdracht van de score tussen de niveaus en de speler start maken wanneer de tijd afloopt (of sterft). Ik zal kijken om dit te verhelpen, maar als iedereen vindt ben ideale manier voor me gelieve aandeel! (Ik zal u geven krediet)