Kreiranje igre u Swing-u može biti uzbudljiv i nagrađivan projekat, posebno ako ste u poslu dobavljača Swinga. Swing je moćan Java GUI (Graphical User Interface) alat koji omogućava programerima da grade interaktivne i vizuelno privlačne aplikacije, uključujući igre. U ovom blogu ću vas voditi kroz proces kreiranja jednostavne igre koristeći Swing, a također ću istaknuti neke od proizvoda koje nudimo kao Swing dobavljač.
Razumijevanje Swinga
Swing je dio Java Foundation Classes (JFC) i pruža skup lakih komponenti koje se mogu koristiti za kreiranje korisničkih interfejsa. Nezavisna je od platforme, što znači da će igre koje kreirate koristeći Swing raditi na bilo kojem operativnom sistemu koji podržava Javu. Swing komponente su fleksibilnije i prilagodljivije u poređenju sa starijim komponentama AWT (Abstract Window Toolkit).
Postavljanje razvojnog okruženja
Prije nego počnete kreirati igru u Swingu, morate postaviti svoje razvojno okruženje. Morate imati instaliran Java Development Kit (JDK) na vašem sistemu. Najnoviju verziju JDK-a možete preuzeti sa službene Oracle web stranice. Nakon što instalirate JDK, možete koristiti Integrisano razvojno okruženje (IDE) kao što je Eclipse ili IntelliJ IDEA za pisanje i pokretanje vašeg Java koda.
Kreiranje osnovne strukture igre
Prvi korak u kreiranju igre u Swingu je kreiranje osnovne strukture prozora igre. To možete učiniti proširenjemJFrameklase, koja predstavlja prozor u Swingu. Evo primjera kako možete kreirati jednostavan prozor igre:
import javax.swing.JFrame; public class GameWindow extends JFrame { public GameWindow() { setTitle("My Swing Game"); setSize(800, 600); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocationRelativeTo(null); setVisible(true); } public static void main(String[] args) { new GameWindow(); } }
U ovom kodu kreiramo klasu pod nazivomGameWindowkoji se protežeJFrame. U konstruktoru postavljamo naslov, veličinu, operaciju zatvaranja i lokaciju prozora. Na kraju, prozor činimo vidljivim.
Dodavanje komponenti igri
Kada dobijete osnovnu strukturu prozora igre, možete početi da mu dodajete komponente. Na primjer, možete dodati aJPaneldo prozora i koristite ga kao platno za crtanje elemenata igre. Evo primjera kako možete dodati aJPaneldo prozora igre:
import javax.swing.JFrame; import javax.swing.JPanel; import java.awt.Color; javna klasa GameWindow proširuje JFrame { private JPanel gamePanel; public GameWindow() { setTitle("My Swing Game"); setSize(800, 600); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocationRelativeTo(null); gamePanel = novi JPanel(); gamePanel.setBackground(Color.BLACK); add(gamePanel); setVisible(true); } public static void main(String[] args) { new GameWindow(); } }
U ovom kodu kreiramo aJPanelpozvaogamePaneli postavite njegovu boju pozadine na crnu. Zatim dodajemo panel u prozor igre.


Elementi igre crtanja
Za crtanje elemenata igre naJPanel, morate nadjačatipaintComponentmetoda. Ova metoda se poziva kad god je panel potrebno prefarbati. Evo primjera kako možete nacrtati jednostavan pravougaonik na ploči:
import javax.swing.JFrame; import javax.swing.JPanel; import java.awt.Color; import java.awt.Graphics; class GamePanel proširuje JPanel { @Override protected void paintComponent(Graphics g) { super.paintComponent(g); g.setColor(Color.RED); g.fillRect(100, 100, 50, 50); } } javna klasa GameWindow proširuje JFrame { private GamePanel gamePanel; public GameWindow() { setTitle("My Swing Game"); setSize(800, 600); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocationRelativeTo(null); gamePanel = novi GamePanel(); gamePanel.setBackground(Color.BLACK); add(gamePanel); setVisible(true); } public static void main(String[] args) { new GameWindow(); } }
U ovom kodu kreiramo customJPanelpozvaoGamePaneli nadjačatipaintComponentmetoda. Unutar metode postavljamo boju na crvenu i crtamo pravougaonik na koordinatama (100, 100) širine 50 i visine 50.
Rukovanje korisničkim unosom
Da bi igra bila interaktivna, morate upravljati korisničkim unosom. To možete učiniti dodavanjem slušalaca događaja komponentama. Na primjer, možete dodati aKeyListenerto theJPanelza rukovanje događajima na tastaturi. Evo primjera kako možete rukovati događajima na tipkovnici za pomicanje pravokutnika:
import javax.swing.JFrame; import javax.swing.JPanel; import java.awt.Color; import java.awt.Graphics; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; class GamePanel proširuje JPanel { private int x = 100; privatni int y = 100; public GamePanel() { addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { int keyCode = e.getKeyCode(); switch (keyCode) { case KeyEvent.VK_LEFT: x -= 10; break; case KeyEvent; x case KeyEvent: + V. KeyEvent.VK_UP: y -= 10 case KeyEvent. setFocusable(true); } @Override zaštićeni void paintComponent(Graphics g) { super.paintComponent(g); g.setColor(Color.RED); g.fillRect(x, y, 50, 50); } } javna klasa GameWindow proširuje JFrame { private GamePanel gamePanel; public GameWindow() { setTitle("My Swing Game"); setSize(800, 600); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocationRelativeTo(null); gamePanel = novi GamePanel(); gamePanel.setBackground(Color.BLACK); add(gamePanel); setVisible(true); } public static void main(String[] args) { new GameWindow(); } }
U ovom kodu dodajemo aKeyListenerto theGamePaneli rukovatitaster pritisnutdogađaj. U zavisnosti od tastera koji je pritisnut, ažuriramo poziciju pravougaonika i pozivamoprefarbatimetoda za ponovno iscrtavanje panela.
Naši proizvodi za ljuljanje
Kao Swing dobavljač, nudimo niz proizvoda koji se mogu koristiti u vašim projektima razvoja igara. Na primjer, imamoGumirani sidreni lanackoji se može koristiti za stvaranje realističnih i izdržljivih lanaca. NašGreda za set za ljuljanjeje visokokvalitetna greda koja se može koristiti za podupiranje zamaha u vašoj igri. I našeSwingSet Swing Hangerje pouzdana vješalica koja se može koristiti za pričvršćivanje ljuljačke na gredu.
Zaključak
Kreiranje igre u Swingu je zabavan i izazovan projekat. Prateći korake navedene u ovom blogu, možete kreirati jednostavnu igru koristeći Swing. A ako su vam potrebni Swing proizvodi za vaše projekte razvoja igara, ne ustručavajte se da nas kontaktirate radi nabavke i daljnjih razgovora. Tu smo da vam pružimo najbolje proizvode i podršku.
Reference
- Oracle Java dokumentacija
- Swing tutorijali na raznim online platformama
