Kezdőoldal » Számítástechnika » Programozás » Java Torpedó játék, amely a...

Java Torpedó játék, amely a Graphics osztállyal rajzolgat. Hogyan tudok egy másik osztályból rajzolgatni?

Figyelt kérdés

Sziasztok!


Először is az alap Graphics-t használó osztályom amely kirajzolja a négyzethálót a Grid elnevezésű osztály.

Mit kell ahhoz tennem, hogy egy külső osztályból (pl.: Game) tudjak a Grid-re rajzolgatni (keresztet, kört...).

Próbáltam úgy, hogy a Grid osztályon belül csináltam egy public static Graphics globalGraph; nevű változót amely a Grid osztály Graphics másolatát hivatott tartani, majd ennek segítségével a Game osztályban rajzolni egy kört de ez sikertelen volt :(


Segítségeket előre is köszönöm szépen



2013. dec. 17. 17:54
 1/5 A kérdező kommentje:

Aww sh!t men.

Nem torpedó hanem amőba (TicTacToe)


Sorry

2013. dec. 17. 17:55
 2/5 anonim ***** válasza:
Van egy objektumod, amire rajzolgatsz, azt kell átadogatnod. Legjobb, ha ezt egy központi helyen kezeled.
2013. dec. 17. 21:21
Hasznos számodra ez a válasz?
 3/5 A kérdező kommentje:

Értem, de hogyan tudom ezt megvalósítani, ha maga a Graphics csak a paintComponent()-ben lévő dolgokat rajzolja ki?

Van egy grid objektumom valahol amellyel megtudom hívni a paintComponent-et?


................................


import java.awt.Graphics;


import javax.swing.JPanel;


public class Grid extends JPanel{

........private final int ITEM_WIDTH = 30;

........private final int ITEM_HEIGHT = 30;

........private final int OUTER_WIDTH = 90;

........private final int OUTER_HEIGHT = 90;


........public void paintComponent(Graphics g){

................super.paintComponent(g);

................drawOuter(g);

................drawGrid(g);

........}


........public void drawOuter(Graphics g){

................g.drawRect(0, 0, OUTER_WIDTH, OUTER_HEIGHT);

........}


........public void drawGrid(Graphics g){

................//Vertikális

................for(int i = ITEM_WIDTH; i < OUTER_WIDTH; i += ITEM_WIDTH){

........................g.drawLine(i, 0, i, OUTER_HEIGHT);

................}

//Horizontális

................for(int i = ITEM_HEIGHT; i < OUTER_HEIGHT; i += ITEM_HEIGHT){

........................g.drawLine(0, i, OUTER_WIDTH, i);

................}

........}


}

2013. dec. 17. 22:26
 4/5 anonim ***** válasza:

Szerintem oldd meg úgy, hogy a Grid .paintComponent(Graphics) metódusban a Game példányon az összes mezőt lekérdezed, hogy milyen jel áll ott (kör, kereszt, vagy semmi), és itt rajzold ki a mezőket.


Egyébként csak a static final változókat szokás csupa nagybetűvel írni.


Nem te vagy az aki a

http://www.gyakorikerdesek.hu/szamitastechnika__programozas_..

kérdést feltette (csak kíváncsiságból kérdezem)?

2013. dec. 18. 15:05
Hasznos számodra ez a válasz?
 5/5 A kérdező kommentje:
de én
2013. dec. 18. 15:30

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!