1. Scrierea primului tău joc pe un motor de joc
La implementarea oricărui joc pe calculator, există trei etape:
- Inițializarea jocului. Aceasta include diverse acțiuni pregătitoare: stabilirea dimensiunii terenului de joc și desenarea acestuia, crearea și instalarea obiectelor de joc în poziția lor inițială, precum și orice alte acțiuni care trebuie efectuate la începutul jocului.
- Jucand jocul. Acestea pot include obiecte de joc în mișcare, acțiuni ale jucătorului, numărarea punctelor câștigate, precum și orice alte acțiuni care trebuie efectuate la intervale regulate sau ca răspuns la clicuri pe butoane și apăsări de taste.
- Încheierea jocului. Aceasta ar putea include oprirea animațiilor, un mesaj de câștig/pierdere și orice alte acțiuni care trebuie efectuate la sfârșitul jocului.
Acum vom parcurge toate cele trei etape în ordine și vom vedea cum motorul de joc CodeGym poate ajuta la ușurarea acestui proces.
2. Inițializarea jocului
Când utilizați motorul de joc CodeGym, inițializarea jocului constă în doar doi pași:
Pasul 1: Creați clasa principală a jocului
Pentru a vă crea propriul joc bazat pe motorul de joc CodeGym, trebuie să creați o clasă și să o faceți să extindă clasa Joc (com.codegym.engine.cell.Game). Acest lucru va oferi clasei dumneavoastră capacitatea de a apela metode în motorul de joc , iar motorul va putea apela metodele clasei dumneavoastră . Exemplu:
import com.codegym.engine.cell.Game;
public class MySuperGame extends Game {
...
}
Pasul 2: suprascrieți initialize()
metoda
În initialize()
metodă, efectuați toate acțiunile necesare pentru a începe jocul: creați terenul de joc, creați toate obiectele de joc etc. Trebuie doar să declarați această metodă în clasa care moștenește clasa Game. Exemplu:
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
}
}
Metoda initialize()
este analogă cu main()
metoda. Este punctul de intrare de la care începe să fie executat tot codul de joc.
3. Crearea terenului de joc
Crearea terenului de joc este, de asemenea, un proces în două etape:
Pasul 1: Împărțiți terenul de joc în celule
Motorul de joc împarte întregul teren de joc în celule. Dimensiunea minimă este 3×3, iar cea maximă 100×100.
Dimensiunea terenului de joc este constantă odată creat. Dimensiunile orizontale și verticale nu trebuie să fie aceleași. De exemplu, o lățime de 7 și o înălțime de 9:
Vă rugăm să rețineți că numerotarea celulelor începe din colțul din stânga sus.
Pentru a seta dimensiunea terenului de joc, utilizați void setScreenSize(int width, int height)
metoda. Stabilește dimensiunea terenului de joc. Parametrii săi sunt numărul de celule în dimensiunile orizontale ( width
) și verticale ( height
). De obicei este numită o dată când începe jocul. Exemplu:
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);
...
}
}
Când scrieți un joc, poate fi necesar să obțineți lățimea și înălțimea curentă a terenului de joc. Metodele corespunzătoare sunt int getScreenWidth()
și int getScreenHeight()
.
Pasul 2: Porniți/opriți grila (opțional)
Dacă nu vă place să aveți o grilă neagră care separă celulele terenului de joc, atunci o puteți dezactiva.
Metoda void showGrid(boolean isShow)
activează/dezactivează grila care separă celulele. Grila este afișată implicit. Pentru a o dezactiva, apelați această metodă și transmiteți false
ca argument:
showGrid(false);
Rezultat:
Pentru a reporni grila, apelați metoda astfel:
showGrid(true);
Rezultat:
4. Program primitiv
Să scriem un joc foarte primitiv care folosește motorul de joc CodeGym. Va face 3 lucruri:
- Acesta va împărți terenul de joc în 9 celule: 3×3
- Va dezactiva grila (liniile dintre celule)
- Celula centrală va fi vopsită cu albastru și litera
X
va fi scrisă în ea.
Codul final arată astfel:
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);
}
}
În acest exemplu, terenul de joc este setat la 3x3, grila este dezactivată și o literă portocalieX
la jumătatea înălțimii celulei este pusă în celula centrală cu un fundal albastru . Acesta va fi primul lucru pe care îl va vedea jucătorul când începe jocul.
GO TO FULL VERSION