PDA

View Full Version : [JAVA] Visualizzare punteggio e livello su VideoGame


caralu
07-09-2006, 20:15
Ciao a tutti! Vi chiedo un parere stavolta.
Ho realizzato un videogame in Java (2D). Tramite 1 frame principale visualizzo tutti gli elementi del gioco. Ora voglio introdurre la visualizzazione del punteggio e del livello corrente, creando qualcosa di carino, magari con un bel Font e un bel colore rosso:
Per fare ciò cosa mi consigliate?
Stavo pensando di inserire sopra al frame principale una JLabel ed aggiornarla ad ogni loop..Potrei utilizzare qualche soluzione più carina del JLabel?

MEMon
07-09-2006, 20:36
Come disegni sul JFrame? Se usi componenti awt come il canvas o il frame stesso è meglio se non mischi componenti swing come le JLabel, usa direttamente il Graphics2D.drawStiring(String,x,y) e per settare il font usi Graphics2D.setFont(Font), guardati la documentazione che è molto chiara al riguardo.

Se invece disegni utilizzando i componenti swing (protected void paintComponent(Graphics g) ecc ecc) allora puoi benissimo usare una JLabel, non è una soluzione brutta è fa benissimo il lvaoro di cui hai bisogno.

caralu
09-09-2006, 10:47
Come disegni sul JFrame? Se usi componenti awt come il canvas o il frame stesso è meglio se non mischi componenti swing come le JLabel, usa direttamente il Graphics2D.drawStiring(String,x,y) e per settare il font usi Graphics2D.setFont(Font), guardati la documentazione che è molto chiara al riguardo.

Se invece disegni utilizzando i componenti swing (protected void paintComponent(Graphics g) ecc ecc) allora puoi benissimo usare una JLabel, non è una soluzione brutta è fa benissimo il lvaoro di cui hai bisogno.
Ok, grazie 1000 per il consiglio..Non sono molto ferrato sulle componenti grafiche swing e awt!

MEMon
09-09-2006, 11:18
Dimmi che metodo usi per disegnare.

caralu
09-09-2006, 11:40
Dimmi che metodo usi per disegnare.
Utilizzo i metodi di awt (Graphics2D)

MEMon
09-09-2006, 12:45
Quindi utilizzi il BufferStrategy? Allora ti conviene stampare le stringhe con il metodo che mette a disposizione Graphics, ovvero g.drawString(String,x,y);

E' molto semplice, String è la stringa che vuoi stampare :D, x e y la posizione.
g è il riferimento grafico che usi, se usi il bufferStrategy è quello che ottieni con bufferStrategy.getDrawGraphics();