Oyun motoru

Mevcut

1. İlk oyununuzu bir oyun motorunda yazmak

Herhangi bir bilgisayar oyununu uygularken üç aşama vardır:

  1. Oyun başlatılıyor. Bu, çeşitli hazırlık eylemlerini içerir: oyun alanının boyutunu belirleme ve çizme, oyun nesnelerini oluşturma ve başlangıç ​​konumlarına yerleştirme ve ayrıca oyunun başında gerçekleştirilmesi gereken diğer tüm eylemler.
  2. Oyun oynamak. Bu, hareket eden oyun nesneleri, oyuncu eylemleri, kazanılan puanların yanı sıra düzenli aralıklarla veya düğme tıklamaları ve tuşlara basıldığında gerçekleştirilmesi gereken diğer eylemleri içerebilir.
  3. Oyunu bitirmek. Bu, animasyonları durdurmayı, kazan/kaybet mesajını ve oyunun sonunda yapılması gereken diğer eylemleri içerebilir.

Şimdi sırasıyla üç aşamayı da inceleyeceğiz ve CodeGym oyun motorunun bu süreci kolaylaştırmaya nasıl yardımcı olabileceğini göreceğiz.


2. Oyunu başlatma

CodeGym oyun motorunu kullandığınızda, oyun başlatma yalnızca iki adımdan oluşur:

1. Adım: Oyunun ana sınıfını oluşturun

CodeGym oyun motorunu temel alan kendi oyununuzu oluşturmak için bir sınıf oluşturmanız ve Game sınıfını (com.codegym.engine.cell.Game) genişletmeniz gerekir . Bu, sınıfınıza oyun motorunda metot çağırma yeteneği verecek ve motor da sınıfınızın metotlarını çağırabilecektir . Örnek:

import com.codegym.engine.cell.Game;

public class MySuperGame extends Game {
  ...
}

2. Adım: initialize()Yöntemi geçersiz kılın

Metodda initialize(), oyunu başlatmak için gerekli tüm eylemleri gerçekleştirirsiniz: oyun alanını yaratın, tüm oyun nesnelerini yaratın, vb. Bu metodu Game sınıfını miras alan sınıfta bildirmeniz yeterlidir. Örnek:

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

Yöntem initialize(), yönteme benzer main(). Tüm oyun kodunuzun yürütülmeye başladığı giriş noktasıdır.



3. Oyun alanını oluşturmak

Oyun alanını oluşturmak da iki aşamalı bir süreçtir:

Adım 1: Oyun alanını hücrelere ayırın

Oyun motoru, tüm oyun alanını hücrelere ayırır. Minimum boyut 3×3 ve maksimum boyut 100×100'dür.

Oyun alanının boyutu oluşturulduktan sonra sabittir. Yatay ve dikey boyutların aynı olması gerekmez. Örneğin, 7 genişlik ve 9 yükseklik:

Lütfen hücre numaralandırmasının sol üst köşeden başladığını unutmayın.

Oyun alanının boyutunu ayarlamak için yöntemi kullanın void setScreenSize(int width, int height). Oyun alanının boyutunu ayarlar. widthParametreleri, yatay ( ) ve dikey ( ) boyutlardaki hücre sayısıdır height. Oyun başladığında genellikle bir kez çağrılır. Örnek:

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

Bir oyun yazarken, oyun alanının mevcut genişliğini ve yüksekliğini almanız gerekebilir. Karşılık gelen yöntemler int getScreenWidth()ve int getScreenHeight().

2. Adım: Izgarayı açın/kapatın (isteğe bağlı)

Oyun alanınızın hücrelerini ayıran siyah bir ızgaradan hoşlanmıyorsanız, kapatabilirsiniz.

Yöntem void showGrid(boolean isShow), hücreleri ayıran ızgarayı etkinleştirir/devre dışı bırakır. Izgara varsayılan olarak görüntülenir. Kapatmak için bu yöntemi çağırın ve falseargüman olarak iletin:

showGrid(false);

Sonuç:

Izgarayı tekrar açmak için yöntemi şu şekilde çağırın:

showGrid(true);

Sonuç:



4. İlkel program

CodeGym oyun motorunu kullanan çok ilkel bir oyun yazalım. 3 şey yapacak:

  1. Oyun alanını 9 hücreye bölecek: 3×3
  2. Izgarayı devre dışı bırakır (hücreler arasındaki çizgiler)
  3. Merkez hücre maviye boyanacak ve Xiçine harf yazılacaktır.

Son kod şöyle görünür:

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

Bu örnekte oyun alanı 3x3 olarak ayarlanmış, ızgara kapatılmış ve orta hücreye mavi arka planlı hücre yüksekliğinin yarısında turuncu bir harf konulmuştur . Bu, oyuncunun oyun başladığında gördüğü ilk şey olacaktır.X


Yorumlar
  • Popüler
  • Yeni
  • Eskimiş
Yorum bırakmak için giriş yapmalısınız
Bu sayfada henüz yorum yok