2014-01-31 2 views
1

저는 대학 과제를 위해 기본적인 2D 측면 스크롤러를 만들고 있습니다. 궁극적으로 최고 점수 시스템을 갖기 위해 점수 시스템을 추가하려고합니다. 나는이 문제를 표시하는 점수를 얻는 데, 나는 블록을 가지고, 플레이어가 닿을 때, 그들은 + 1 개 점수를 얻을 것을, 내가 사용 :내 Java 게임에 대한 점수 시스템

JOptionPane.showMessageDialog(null, "Your score : " + Score); 

이것은 점수가 적절하게 증가하는 것을 확인했다. 창의 오른쪽 상단에 점수를 계속 표시하고 싶습니다. 어떻게 생각합니까? 점수 코드의

다른 부분 :

int Score = 0; 

public String ScoreCount = "Score: " + Score; 

편집 : 감사 지원을 위해, 나는 여전히 표시 점점에 문제가 있어요. 나는 가지고있다 :
int 점수 = 0; public String ScoreCount = "점수 :"+ 점수;

JLabel scoreLabel = new JLabel("Score: 0"); 
public void someoneScored() 
{ 
scoreLabel.setBounds(10, 10, 100, 50); 
scoreLabel.setText("Score: " + Score); 
} 


내 게임은 검은 색 (단지 사각형) 나는 JLabel의 색상을 변경할 필요가있다? (배경색을 흰색으로 변경하려고 시도했지만 여전히 볼 수 없었습니다.)

답변

3

증분을 업데이트하고 JLabel을 업데이트하십시오.

JLabel scoreLabel = new JLabel("Score: 0"); 


public void someoneScored() 
{ 
    score++; 

    scoreLabel.setText("Score: " + score); 
} 

추가 읽기 this 같은

  • 기본 스윙 튜토리얼, 유용 할 수 있습니다.

  • 이 사실을 모르는 것 같으면 변수 이름을 올바르게 포맷하는 방법에 대한 Java 명명 규칙을 읽어야합니다. 그들 here을 읽을 수 있습니다.

    당신이 위치 할 경우

을 편집 JLabel, 당신은 setLocation 방법으로이 작업을 수행 할 수 있습니다. 그러나 크기와 위치를 한꺼번에 설정하는 것이 좋으며 setBounds 메서드를 사용합니다.

scoreLabel.setBounds(x, y, width, height); 

왼쪽 상단에 넣고하려면 xy 두 매우 낮은 수있을 것입니다. 아니 0. 창문 코너를 만지고있는 라벨보다 더 나쁜 것은 없습니다.

scoreLabel.setBounds(5, 5, width, height); 
+0

@ Bathsheba 피 연산자와 증가 연산자 사이의 간격을 좋아하지 않습니까? : P – christopher

+0

오래된 습관이 딱딱 해집니다. 좋은 +1 대답. – Bathsheba

+0

하하, 괜찮습니다.고마워요 :) – christopher

관련 문제