반응형
자바 라이브러리만을 이용하여 리듬게임을 만들어 볼것이다.
창을 생성하고 창의 세부 설정을 해준 뒤 배경화면을 창 크기에 맞게 설정해 준 뒤 실행하는 동안 이미지가 계속 다시 불려와지도록 설정. (버퍼링방지)
게임을 실행하는 Main 클래스와 창을 생성할 DynamicBeat 클래스를 따로 만들어준다.
화면 크기는 1280 * 720 으로 설정,
해당 백그라운드 이미지는 아래에 첨부해놨다.
Main
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
package beat;
public class Main {
public static int SCREEN_WIDTH = 1280;
public static int SCREEN_HEIGHT = 720;
// 가로세로 세팅해준다.
public static void main(String[] args) {
new DynamicBeat();
// DynamicBeat 객체세팅
}
}
|
cs |
DynamicBeat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
package beat1;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
public class DynamicBeat extends JFrame { // Jframe 라이브러리를 사용해준다.
private Image screenImage;
private Graphics screenGraphic;
// 더블 버퍼링을 위해 이미지를 화면에 담는 인스턴스
private Image introbackground;
// 이미지 파일을 담을 수 있는 객체 생성
public DynamicBeat() {
setTitle("DynamicBeat");
// 타이틀 설정
setSize(Main.SCREEN_WIDTH, Main.SCREEN_HEIGHT);
// main에서 설정해준 가로세로 설정
setResizable(false);
// 한번 만들어진 게임창을 사용자가 줄이거나 늘릴수 없게함.
setLocationRelativeTo(null);
// 게임창이 컴퓨터의 정중장에 위치
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 게임창을 종료했을 때 프로그램 전체가 종료됨.
setVisible(true);
// 눈에 게임창이 보이게 함.
introbackground = new ImageIcon(Main.class.getResource("../images/introbackground.jpg")).getImage();
// main클래스 위치의 기반의 이미지 인스턴스를 변수에 초기화
}
public void paint(Graphics g) { // 프로그램이 실행되는 순간 가장 첫번째로 화면에 그려지는 약속된 메서드
screenImage = createImage(Main.SCREEN_WIDTH, 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();
// 페인트함수를 다시 불러와 다시 화면에 그려줌. 프로그램이 실행되는 매 순간마다 프로그램이 종료되는 순간까지 반복됨.
}
}
|
cs |
자료 출처 : www.youtube.com/watch?v=WspD6v6CK4A&list=PLRx0vPvlEmdDySO3wDqMYGKMVH4Qa4QhR&index=3
반응형
'Java > Swing 미니프로젝트' 카테고리의 다른 글
[JAVA Project] 미니 프로젝트 리듬게임 만들기 4 - 시작하기버튼, main곡화면설정 (0) | 2021.04.19 |
---|---|
[JAVA Project] 미니 프로젝트 리듬게임 만들기 3 - 메뉴바 만들기, 나가기 아이콘 생성, 아이콘 효과음 추가 (0) | 2021.04.15 |
[JAVA Project] 미니 프로젝트 리듬게임 만들기 2 - 배경 음악 설정 (JLayer) (0) | 2021.04.15 |
댓글