본문 바로가기

개인프로젝트/리듬게임만들기

[내가 만든 프로젝트 코드 분석 | 리듬게임 만들기] 9.뒤로가기,리팩토링

게임화면에서 이전화면으로 돌아가기위한 뒤로가기 버튼 이미지를 만듭니다.

backButton.setVisible(false); // 처음에는 가리기
backButton.setBounds(20, 50, 60, 60); // 버튼 크기 위치
backButton.setBorderPainted(false);
backButton.setContentAreaFilled(false);
backButton.setFocusPainted(false);
backButton.addMouseListener(new MouseAdapter() {
	@Override
		public void mouseEntered(MouseEvent e) {
			backButton.setIcon(backButtonEnteredImage);
			backButton.setCursor(new Cursor(Cursor.HAND_CURSOR));
			Music buttinEnteredMusic = new Music("buttonEnteredMusic.mp3", false);
			buttinEnteredMusic.start();
		}
	@Override
		public void mouseExited(MouseEvent e) {
			backButton.setIcon(backButtonBasicImage);
			backButton.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
	}
	@Override
		public void mousePressed(MouseEvent e) {
			Music buttinEnteredMusic = new Music("buttonEnteredMusic.mp3", false);
			buttinEnteredMusic.start();
			backMain(); // 뒤로가기 메서드
		}
	});
	add(backButton);

public void backMain() {
		isMainScreen = true; // 메인함수로 돌아오기
		leftButton.setVisible(true);
		rightButton.setVisible(true);
		easyButton.setVisible(true);
		hardButton.setVisible(true);
		// 버튼 되돌리기
		background = new ImageIcon(Main.class.getResource("../images/mainBackground.jpg")).getImage();	
		backButton.setVisible(false); // 뒤로가기버튼 가리기
		selectTrack(nowSelected); 
	}

리팩토링

중복된 버튼이미지 처리를 한번에 할 수 있도록 합니다.

public void enterMain() {
		startButton.setVisible(false);
		quitButton.setVisible(false);
		background = new ImageIcon(Main.class.getResource("../images/mainBackground.jpg")).getImage();
		leftButton.setVisible(true);
	  rightButton.setVisible(true);
	  easyButton.setVisible(true);
	  hardButton.setVisible(true);
		isMainScreen = true;
		introMusic.close();
		selectTrack(0);
	}