|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Sep 2004
Città: Sardegna
Messaggi: 98
|
[JAVA] Visualizzare punteggio e livello su VideoGame
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? |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
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. |
![]() |
![]() |
![]() |
#3 | |
Member
Iscritto dal: Sep 2004
Città: Sardegna
Messaggi: 98
|
Quote:
|
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
Dimmi che metodo usi per disegnare.
|
![]() |
![]() |
![]() |
#5 | |
Member
Iscritto dal: Sep 2004
Città: Sardegna
Messaggi: 98
|
Quote:
|
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
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 ![]() g è il riferimento grafico che usi, se usi il bufferStrategy è quello che ottieni con bufferStrategy.getDrawGraphics(); |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:37.