Spillmotor

Tilgjengelig

1. Skrive ditt første spill på en spillmotor

Når du implementerer et dataspill, er det tre stadier:

  1. Initialiserer spillet. Dette inkluderer ulike forberedende handlinger: å angi størrelsen på spillefeltet og tegne det, lage og sette opp spillobjekter i deres utgangsposisjon, samt alle andre handlinger som må utføres i begynnelsen av spillet.
  2. Spiller spillet. Dette kan inkludere bevegelige spillobjekter, spillerhandlinger, opptjente poeng, samt alle andre handlinger som må utføres med jevne mellomrom eller som svar på knappeklikk og tastetrykk.
  3. Avslutter spillet. Dette kan inkludere å stoppe animasjoner, en vinn/tap-melding og alle andre handlinger som må utføres på slutten av spillet.

Vi vil nå gå gjennom alle tre stadiene i rekkefølge og se hvordan CodeGym-spillmotoren kan bidra til å gjøre denne prosessen enklere.


2. Initialisere spillet

Når du bruker CodeGym-spillmotoren, består spillinitialiseringen av bare to trinn:

Trinn 1: Lag spillets hovedklasse

For å lage ditt eget spill basert på CodeGym-spillmotoren, må du lage en klasse og få den til å utvide Game-klassen (com.codegym.engine.cell.Game). Dette vil gi klassen din muligheten til å kalle metoder på spillmotoren , og motoren vil kunne kalle metodene til klassen din . Eksempel:

import com.codegym.engine.cell.Game;

public class MySuperGame extends Game {
  ...
}

Trinn 2: Overstyr initialize()metoden

I initialize()metoden utfører du alle handlingene som er nødvendige for å starte spillet: lag spillefeltet, lag alle spillobjekter osv. Du trenger bare å deklarere denne metoden i klassen som arver Spill-klassen. 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 inngangspunktet der all spillkoden din begynner å bli utført.



3. Lage spillefeltet

Å skape spillefeltet er også en to-trinns prosess:

Trinn 1: Del spillefeltet i celler

Spillmotoren deler hele spillefeltet i celler. Minste størrelse er 3×3, og maksimum er 100×100.

Størrelsen på spillefeltet er konstant når den er opprettet. De horisontale og vertikale dimensjonene trenger ikke å være like. For eksempel, en bredde på 7 og en høyde på 9:

Vær oppmerksom på at cellenummerering starter fra øvre venstre hjørne.

For å angi størrelsen på spillefeltet, bruk void setScreenSize(int width, int height)metoden. Den setter størrelsen på spillefeltet. Parametrene er antall celler i de horisontale ( width) og vertikale ( height) dimensjonene. Det kalles vanligvis é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 spill, må du kanskje få gjeldende bredde og høyde på spillefeltet. De tilsvarende metodene er int getScreenWidth()og int getScreenHeight().

Trinn 2: Slå rutenettet på/av (valgfritt)

Hvis du ikke liker å ha et svart rutenett som skiller cellene på spillefeltet ditt, kan du slå det av.

Metoden void showGrid(boolean isShow)aktiverer/deaktiverer rutenettet som skiller cellene. Rutenettet vises som standard. For å slå den av, kall denne metoden og send inn falsesom argumentet:

showGrid(false);

Resultat:

For å slå på rutenettet igjen, kall metoden slik:

showGrid(true);

Resultat:



4. Primitivt program

La oss skrive et veldig primitivt spill som bruker CodeGym-spillmotoren. Det vil gjøre 3 ting:

  1. Det vil dele spillefeltet i 9 celler: 3×3
  2. Det vil deaktivere rutenettet (linjene mellom cellene)
  3. Den sentrale cellen vil bli malt blå og bokstaven Xvil bli skrevet i den.

Den endelige koden ser slik ut:

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 eksemplet er spillefeltet satt til 3x3, rutenettet er slått av, og en oransje bokstav Xpå halvparten av cellehøyden settes i midtcellen med blå bakgrunn. Dette vil være det første spilleren ser når spillet starter.


Kommentarer
  • Populær
  • Ny
  • Gammel
Du må være pålogget for å legge igjen en kommentar
Denne siden har ingen kommentarer ennå