게임배경화면 이미지를 선정하고 images폴더를 생성해서 이미지를 저장합니다.
더블버퍼링은 예비버퍼를 사용하여 그래픽 데이터를 저장하여 필요한 부분을 끊어짐 없이 보여주는 것을 의미합니다. 이를 사용하여 게임 이미지를 깜빡임없이 그려낼 수 있습니다..
package dynamic_beat_2;
public class Main {
public static final int SCREEN_WHIDTH = 1280;
public static final int SCREEN_HEIGHT = 720;
public static void main(String[] args) {
new DynamicBeat();
}
}
Main클래스
package dynamic_beat_2;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
public class DynamicBeat extends JFrame {
private Image screenImage; // 더블버퍼링을 위한 인스턴스
private Graphics screenGraphic; // 더블버퍼링을 위한 인스턴스
private Image introBackground; // 배경이미지 객체
public DynamicBeat() {
setTitle("Dynamic Beat");
setSize(Main.SCREEN_WHIDTH, Main.SCREEN_HEIGHT);
setResizable(false);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
introBackground = new ImageIcon(Main.class.getResource("../images/introBackground(Title).jpg")).getImage();
// 배경이미지를 가져온 후 인스턴스로 저장 후 초기화
}
public void paint(Graphics g) {
screenImage = createImage(Main.SCREEN_WHIDTH, Main.SCREEN_HEIGHT); // 화면창 이미지 생성
screenGraphic = screenImage.getGraphics(); // 그래픽객체 가져오기
screenDraw(screenGraphic);
g.drawImage(screenImage, 0, 0, null);
}
public void screenDraw(Graphics g) { // 배경화면 그리는 메서드
g.drawImage(introBackground, 0, 0, null);
this.repaint(); //프로그램 종료 전 까지 반복생성
}
}
DynamicBeat클래스
'개인프로젝트 > 리듬게임만들기' 카테고리의 다른 글
[내가 만든 프로젝트 코드 분석 | 리듬게임 만들기] 6.곡 선택 화면 디자인 (1) | 2024.02.06 |
---|---|
[내가 만든 프로젝트 코드 분석 | 리듬게임 만들기] 5. 화면전환 (0) | 2024.02.06 |
[내가 만든 프로젝트 코드 분석 | 리듬게임 만들기] 4. 메뉴 바 구현 (0) | 2024.02.05 |
[내가 만든 프로젝트 코드 분석 | 리듬게임 만들기] 3. 시작화면에 음악 삽입 (0) | 2024.02.05 |
[내가 만든 프로젝트 코드 분석 | 리듬게임 만들기] 1.자바 개발환경 세팅 과 GUI 시작하기 (0) | 2024.02.02 |