Játék motor

Elérhető

1. Az első játék megírása játékmotoron

Bármely számítógépes játék megvalósítása három szakaszból áll:

  1. A játék inicializálása. Ez magában foglalja a különféle előkészítő műveleteket: a játéktér méretének beállítása és megrajzolása, a játékobjektumok létrehozása és beállítása a kezdeti helyzetükben, valamint minden egyéb művelet, amelyet a játék elején végre kell hajtani.
  2. A játékot játszani. Ez magában foglalhatja a játéktárgyak mozgatását, a játékos akcióit, a megszerzett pontok összeszámlálását, valamint bármely más olyan műveletet, amelyet rendszeres időközönként vagy gombkattintásra és billentyűlenyomásra kell végrehajtani.
  3. A játék befejezése. Ez magában foglalhatja az animációk leállítását, a győzelem/veszteség üzenetét, és minden egyéb műveletet, amelyet a játék végén végre kell hajtani.

Most sorban végigjárjuk mindhárom szakaszt, és meglátjuk, hogy a CodeGym játékmotor hogyan segítheti ezt a folyamatot.


2. A játék inicializálása

Ha a CodeGym játékmotort használja, a játék inicializálása mindössze két lépésből áll:

1. lépés: Hozd létre a játék fő osztályát

A CodeGym játékmotoron alapuló saját játék létrehozásához létre kell hoznia egy osztályt, és ki kell terjesztenie a Game osztályt (com.codegym.engine.cell.Game). Ezáltal az osztályod képes lesz metódusokat hívni a játékmotoron , a motor pedig az osztályod metódusait . Példa:

import com.codegym.engine.cell.Game;

public class MySuperGame extends Game {
  ...
}

2. lépés: A initialize()módszer felülbírálása

A initialize()metódusban végrehajtja a játék elindításához szükséges összes műveletet: létrehozza a játékteret, létrehozza az összes játékobjektumot stb. Csak deklarálnia kell ezt a metódust abban az osztályban, amely a Game osztályt örökli. Példa:

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
  }
}

A initialize()módszer analóg a main()módszerrel. Ez az a belépési pont, ahonnan az összes játékkód végrehajtása megkezdődik.



3. A játéktér kialakítása

A játéktér kialakítása szintén két lépésből áll:

1. lépés: Ossza fel a játékteret cellákra

A játékmotor a teljes játékteret cellákra osztja. A legkisebb méret 3×3, a maximális pedig 100×100.

A játéktér mérete a létrehozást követően állandó. A vízszintes és függőleges méreteknek nem kell azonosnak lenniük. Például 7 szélesség és 9 magasság:

Felhívjuk figyelmét, hogy a cellaszámozás a bal felső sarokból kezdődik.

A játéktér méretének beállításához használja a void setScreenSize(int width, int height)módszert. Beállítja a játéktér méretét. Paraméterei a cellák száma vízszintes ( width) és függőleges ( height) méretben. Általában egyszer hívják, amikor a játék elindul. Példa:

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);
      ...
   }
}

A játék írásakor előfordulhat, hogy meg kell találnia a játéktér aktuális szélességét és magasságát. A megfelelő módszerek a int getScreenWidth()és int getScreenHeight().

2. lépés: Kapcsolja be/ki a rácsot (opcionális)

Ha nem szereti, ha fekete rács választja el a játékmező celláit, akkor kikapcsolhatja.

A void showGrid(boolean isShow)módszer engedélyezi/letiltja a cellákat elválasztó rácsot. Alapértelmezés szerint a rács jelenik meg. A kikapcsolásához hívja meg ezt a metódust, és adja meg falseargumentumként:

showGrid(false);

Eredmény:

A rács visszakapcsolásához hívja meg a következő módszert:

showGrid(true);

Eredmény:



4. Primitív program

Írjunk egy nagyon primitív játékot, ami a CodeGym játékmotort használja. 3 dolgot fog tenni:

  1. A játékteret 9 cellára osztja: 3 × 3
  2. Letiltja a rácsot (a cellák közötti vonalakat)
  3. A központi cellát kékre festjük, és Xbeleírjuk a betűt.

A végső kód így néz ki:

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);
   }
}

Ebben a példában a játékmező 3x3-ra van állítva, a rács ki van kapcsolva, és a cella magasságának felében egy narancssárga betű kerül a középső cellába kék háttérrel. Ez lesz az első dolog, amit a játékos lát a játék kezdetekor.X


Hozzászólások
  • Népszerű
  • Új
  • Régi
Hozzászólás írásához be kell jelentkeznie
Ennek az oldalnak még nincsenek megjegyzései