1. Skrive ditt første spill på en spillmotor
Når du implementerer et dataspill, er det tre stadier:
- 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.
- 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.
- 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 false
som 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:
- Det vil dele spillefeltet i 9 celler: 3×3
- Det vil deaktivere rutenettet (linjene mellom cellene)
- Den sentrale cellen vil bli malt blå og bokstaven
X
vil 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 X
på halvparten av cellehøyden settes i midtcellen med blå bakgrunn. Dette vil være det første spilleren ser når spillet starter.
GO TO FULL VERSION