2017-03-17 7 views
1

だから私は、そのHUDでスコアを持ってゲームを作ることになってるけど、私は、コードホワイトスクリーンg.drawString

g.drawString("Score: " + score, 15, 64); 
//score is a variable 

を使用するときには、このような白い画面が表示されます

enter image description here

HUDの完全なコードは、この

import java.awt.Color; 
import java.awt.Graphics; 

public class HUD { 

public static int HEALTH = 800; 

private static int gvalue = 255; 

public int score = 0; 
public int level = 1; 

    public void tick(){ 
     HEALTH = MainGame.clamp(HEALTH, 0, 800); 

     gvalue = MainGame.clamp(gvalue, 0, 255); 
     gvalue = HEALTH/4; 

     score++; 
    } 

public void render(Graphics g){ 
     g.setColor(Color.gray); 
     g.fillRect(15, 15, 200, 30); 
     g.setColor(new Color(70, gvalue, 0)); 
     g.fillRect(15, 15, (HEALTH/4) , 30); 
     g.setColor(Color.white); 
     g.drawRect(15, 15, 100 * 2, 30); 

     g.drawString("Score: " + score, 15, 64); 
     //the line above though, when i remove it, it completely works 
    } 

    public int getScore() { 
     return score; 
    } 

    public void setScore(int score) { 
     this.score = score; 
    } 

    public int getLevel() { 
     return level; 
    } 

    public void setLevel(int level) { 
     this.level = level; 
    } 
    } 

P.ようなものです私はオブジェクト、窓、色などを持っていますが、他のクラスにあります。 P.P.S上記の行を削除すると正常に動作します。

+0

.setBackground(Color.black)を使用して背景色を追加する必要があります。 – Abi

+0

私は背景色、オブジェクト、ものを持っていますが、他のクラスにあります。 – Stickzz107

答えて

2

私は何も宣言するフォントやフォントの色を見ていない...

g.setColor(Color.black); 
Font font = new Font("Times New Roman", Font.BOLD, (int) Math.round(20 * scaleX)); 
g.setFont(font); 
g.drawString("Score: " + score, 15, 64); 

私はこのことができます願っています。

関連する問題