Game engine

Available

1. Pagsusulat ng iyong unang laro sa isang game engine

Kapag nagpapatupad ng anumang laro sa computer, mayroong tatlong yugto:

  1. Pagsisimula ng laro. Kabilang dito ang iba't ibang mga aksyong paghahanda: pagtatakda ng laki ng larangan ng paglalaro at pagguhit nito, paggawa at pag-set up ng mga bagay sa laro sa kanilang unang posisyon, pati na rin ang anumang iba pang mga aksyon na kailangang isagawa sa simula ng laro.
  2. Naglalaro ng laro. Maaaring kabilang dito ang mga gumagalaw na bagay sa laro, mga aksyon ng manlalaro, mga tallying point na nakuha, pati na rin ang anumang iba pang aksyon na dapat gawin sa mga regular na pagitan o bilang tugon sa mga pag-click sa button at pagpindot sa key.
  3. Pagtatapos ng laro. Maaaring kabilang dito ang paghinto ng mga animation, mensahe ng panalo/talo, at anumang iba pang pagkilos na kailangang gawin sa pagtatapos ng laro.

Tatalakayin natin ngayon ang lahat ng tatlong yugto sa pagkakasunud-sunod at tingnan kung paano makakatulong ang CodeGym game engine na gawing mas madali ang prosesong ito.


2. Pagsisimula ng laro

Kapag ginamit mo ang CodeGym game engine, ang pagsisimula ng laro ay binubuo lamang ng dalawang hakbang:

Hakbang 1: Lumikha ng pangunahing klase ng laro

Upang lumikha ng iyong sariling laro batay sa CodeGym game engine, kailangan mong lumikha ng isang klase at gawin itong pahabain ang klase ng Laro (com.codegym.engine.cell.Game). Ito ay magbibigay sa iyong klase ng kakayahang tumawag ng mga pamamaraan sa game engine , at ang makina ay makakatawag ng mga pamamaraan ng iyong klase . Halimbawa:

import com.codegym.engine.cell.Game;

public class MySuperGame extends Game {
  ...
}

Hakbang 2: I-override ang initialize()pamamaraan

Sa initialize()pamamaraan, ginagawa mo ang lahat ng mga aksyon na kinakailangan upang simulan ang laro: lumikha ng larangan ng paglalaro, lumikha ng lahat ng mga bagay sa laro, atbp. Kailangan mo lamang ipahayag ang pamamaraang ito sa klase na nagmamana ng klase ng Laro. Halimbawa:

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

Ang initialize()pamamaraan ay kahalintulad sa main()pamamaraan. Ito ang entry point kung saan magsisimulang isagawa ang lahat ng iyong code ng laro.



3. Paglikha ng larangan ng paglalaro

Ang paglikha ng larangan ng paglalaro ay isa ring dalawang hakbang na proseso:

Hakbang 1: Hatiin ang playing field sa mga cell

Hinahati ng game engine ang buong playing field sa mga cell. Ang pinakamababang laki ay 3×3, at ang maximum ay 100×100.

Ang laki ng larangan ng paglalaro ay pare-pareho kapag nilikha. Ang pahalang at patayong mga sukat ay hindi kailangang magkapareho. Halimbawa, isang lapad na 7 at taas na 9:

Pakitandaan na ang cell numbering ay nagsisimula sa kaliwang sulok sa itaas.

Para itakda ang laki ng playing field, gamitin ang void setScreenSize(int width, int height)paraan. Itinatakda nito ang laki ng larangan ng paglalaro. Ang mga parameter nito ay ang bilang ng mga cell sa pahalang ( width) at patayong ( height) na mga dimensyon. Karaniwan itong tinatawag nang isang beses kapag nagsimula ang laro. Halimbawa:

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

Kapag nagsusulat ng isang laro, maaaring kailanganin mong makuha ang kasalukuyang lapad at taas ng playing field. Ang mga kaukulang pamamaraan ay int getScreenWidth()at int getScreenHeight().

Hakbang 2: I-on/i-off ang grid (opsyonal)

Kung hindi mo gusto ang pagkakaroon ng itim na grid na naghihiwalay sa mga cell ng iyong playing field, maaari mo itong i-off.

Ang void showGrid(boolean isShow)pamamaraan ay nagbibigay-daan / hindi pinapagana ang grid na naghihiwalay sa mga cell. Ang grid ay ipinapakita bilang default. Upang i-off ito, tawagan ang paraang ito at ipasa falsebilang argumento:

showGrid(false);

Resulta:

Upang i-on muli ang grid, tawagan ang pamamaraang tulad nito:

showGrid(true);

Resulta:



4. Primitive na programa

Sumulat tayo ng isang napaka-primitive na laro na gumagamit ng CodeGym game engine. Gagawin nito ang 3 bagay:

  1. Hahatiin nito ang playing field sa 9 na cell: 3×3
  2. Idi-disable nito ang grid (ang mga linya sa pagitan ng mga cell)
  3. Ang gitnang cell ay pininturahan ng asul at ang titik Xay isusulat dito.

Ang huling code ay ganito ang hitsura:

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

Sa halimbawang ito, ang playing field ay nakatakda sa 3x3, ang grid ay naka-off, at isang orange na titik Xsa kalahati ng taas ng cell ay inilalagay sa gitnang cell na may asul na background. Ito ang unang makikita ng manlalaro kapag nagsimula ang laro.


Mga komento
  • Sikat
  • Bago
  • Luma
Dapat kang naka-sign in upang mag-iwan ng komento
Wala pang komento ang page na ito