Spil motor

Ledig

1. At skrive dit første spil på en spilmotor

Når du implementerer et computerspil, er der tre trin:

  1. Initialisering af spillet. Dette inkluderer forskellige forberedende handlinger: indstilling af størrelsen på spillefeltet og tegning af det, oprettelse og opsætning af spilobjekter i deres udgangsposition, samt alle andre handlinger, der skal udføres i begyndelsen af ​​spillet.
  2. Spiller spillet. Dette kan omfatte bevægelige spilobjekter, spillerhandlinger, optjente point, samt alle andre handlinger, der skal udføres med regelmæssige intervaller eller som reaktion på knapklik og tastetryk.
  3. Afslutning af spillet. Dette kan omfatte stop af animationer, en vind/tab-meddelelse og alle andre handlinger, der skal udføres i slutningen af ​​spillet.

Vi vil nu gennemgå alle tre faser i rækkefølge og se, hvordan CodeGym-spilmotoren kan hjælpe med at gøre denne proces lettere.


2. Initialisering af spillet

Når du bruger CodeGym-spilmotoren, består spilinitialisering kun af to trin:

Trin 1: Opret spillets hovedklasse

For at skabe dit eget spil baseret på CodeGym-spilmotoren, skal du oprette en klasse og få den til at udvide Game-klassen (com.codegym.engine.cell.Game). Dette vil give din klasse mulighed for at kalde metoder på spilmotoren , og motoren vil være i stand til at kalde metoder i din klasse . Eksempel:

import com.codegym.engine.cell.Game;

public class MySuperGame extends Game {
  ...
}

Trin 2: Tilsidesæt initialize()metoden

I initialize()metoden udfører du alle de handlinger, der er nødvendige for at starte spillet: opret spillefeltet, opret alle spilobjekter osv. Du skal blot erklære denne metode i klassen, der arver spilklassen. Eksempel:

import com.codegym.engine.cell.Game;

public class MySuperGame extends Game {
  @Override
  public void initialize() {
     // Here we perform all the actions to initialize the game and its objects
  }
}

Metoden initialize()er analog med main()metoden. Det er indgangspunktet, hvorfra al din spilkode begynder at blive udført.



3. Oprettelse af spillefeltet

At skabe spillefeltet er også en to-trins proces:

Trin 1: Opdel spillefeltet i celler

Spillemotoren opdeler hele spillefeltet i celler. Minimumsstørrelsen er 3×3, og maksimum er 100×100.

Størrelsen af ​​spillefeltet er konstant, når først den er oprettet. De vandrette og lodrette dimensioner behøver ikke at være ens. For eksempel en bredde på 7 og en højde på 9:

Bemærk venligst, at cellenummerering starter fra øverste venstre hjørne.

For at indstille størrelsen på spillefeltet, brug void setScreenSize(int width, int height)metoden. Det bestemmer størrelsen af ​​spillefeltet. Dens parametre er antallet af celler i de vandrette ( width) og lodrette ( height) dimensioner. Det kaldes normalt én gang, når spillet starter. Eksempel:

import com.codegym.engine.cell.Game;

public class MySuperGame extends Game {
   @Override    public void initialize()
   {
      // Set the field size to 7x9 cells
      setScreenSize(7, 9);
      ...
   }
}

Når du skriver et spil, skal du muligvis få den aktuelle bredde og højde på spillefeltet. De tilsvarende metoder er int getScreenWidth()og int getScreenHeight().

Trin 2: Slå gitteret til/fra (valgfrit)

Hvis du ikke kan lide at have et sort gitter, der adskiller cellerne på dit spillefelt, så kan du slå det fra.

Metoden void showGrid(boolean isShow)aktiverer/deaktiverer gitteret, der adskiller cellerne. Gitteret vises som standard. For at slå det fra skal du kalde denne metode og indsende falsesom argument:

showGrid(false);

Resultat:

For at tænde for nettet igen, kald metoden sådan:

showGrid(true);

Resultat:



4. Primitivt program

Lad os skrive et meget primitivt spil, der bruger CodeGym-spilmotoren. Det vil gøre 3 ting:

  1. Det vil opdele spillefeltet i 9 celler: 3×3
  2. Det vil deaktivere gitteret (linjerne mellem celler)
  3. Den centrale celle vil blive malet blå, og bogstavet Xvil blive skrevet i den.

Den endelige kode ser således ud:

public class MySuperGame extends Game
{
   @Override
   public void initialize()
   {
      // Create a 3x3 playing field
      setScreenSize(3, 3);
      // Disable displaying the grid
      showGrid(false);
      // Change the background of the central cell to blue and display "X" in it
      setCellValueEx(1, 1, Color.BLUE, "Х", Color.ORANGE, 50);
   }
}

I dette eksempel er spillefeltet sat til 3x3, gitteret er slukket, og et orange bogstav Xpå halvdelen af ​​cellehøjden sættes i den midterste celle med blå baggrund. Dette vil være det første, spilleren ser, når spillet starter.


Kommentarer
  • Populær
  • Ny
  • Gammel
Du skal være logget ind for at skrive en kommentar
Denne side har ingen kommentarer endnu