2013-07-22 2 views
-1

임의의 크기와 색상의 사각형이 화면의 임의의 위치에 나타나고 클릭해야하는 간단한 게임을 만들려고합니다. 더 많이 클릭할수록 점수가 올라갑니다.fillRect 사각형 제거

나는 모든 것을 제외하고는 아무 것도 모르는 채 사각형을 클릭하면 사라집니다.

여기

g.fillRect(Cube.cubePosX, Cube.cubePosY, Cube.cubeSize, Cube.cubeSize); 

위치, 크기 및 색상을 이미 소정 임의로 다른 클래스 파일 내에서 선택된 직사각형 코드이다.

답변

2

제안 :

  • 하지 하드 코드 당신이 그림있는 사각형 마십시오.
  • 대신 드로잉 JPanel의 paintComponent(...) 메서드에서 for 루프로 그려진 ArrayList<Rectangle>과 같은 사각형의 컬렉션을 만듭니다.
  • 그런 다음 사용자가 클릭하면 ArrayList에서 제거됩니다.
  • 이것은 MouseListener에서 수행되며 for 루프,
  • 을 다시 사용하지만이 루프가 역순으로 반복한다는 것이 핵심입니다. 그 이유는 다른 모든 "상단"에있는 직사각형이 마지막으로 그려지는 것입니다. 클릭하면 제거 된 첫 번째 아이콘이어야합니다.
  • 직사각형을 제거한 후 도면 JPanel (또는 JComponent)에서 repaint()을 호출합니다.
+1

+1 나를 펀치에 맞기 위해 – MadProgrammer

+0

@MadProgrammer : 감사합니다. 1+ 당신에게 등! –

+0

+1 세부 사항은 – camickr

1

이러한 사각형이 어디에 있는지 알려주는 캐시를 유지해야합니다.

이 캐시를 사용하면 클릭 한 시간을 감지 할뿐만 아니라 페인트 할 때 사용해야합니다.

자세한 내용은 How to create a Mouse Listener을 참조하십시오. 또한 만들 내가 화면에 임의의 위치에 나타나는 임의의 크기와 색상의 사각형이있을 것이다 간단한 게임을 만들기 위해 노력하고

2

일부 사용 Rectangle을 찾아 당신이 그들을 클릭해야

또한 스윙 구성 요소를 사용할 수 있습니다. 자세한 아이디어는 Playing With Shapes을 참조하십시오. 각 구성 요소에 MouseListener를 추가하면 클릭 할 때 패널에서 구성 요소를 제거 할 수 있습니다.

구성 요소를 사용하지 않으려는 경우에도 게임에 직사각형 이외의 모양을 추가 할 수 있도록 도형을 사용해야합니다. 이 경우에는 크래프트의 제안이 모두 적용됩니다.