JAVA/JSP

JAVA 리듬게임 - 게임 시작 화면

꿀표 2020. 4. 29. 00:01

1. dynamic_beat_2 생성 (dynamic_beat_1 그대로 복사)

2. images 파일 생성

3. wallpaperswide 사이트에서 이미지 다운.

 

DynamicBeat.java

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
package dynamic_beat_2;
 
 
 
 
public class DynamicBeat extends JFrame{
    
    private Image screenImage;      // 더블 버퍼링 위해 전체 화면에 대한 이미지를 담는 인스턴스
    private Graphics screenGraphic; // 더블 버퍼링 위해 전체 화면에 대한 이미지를 담는 인스턴스
 
    private Image introBackground; // 이미지를 담을 수 있는 객체
 
     public DynamicBeat( ) {
         setTitle("Dynamic Beat");
         setSize(Main.SCREEN_WIDTH, 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();
                                         // Main class를 기반으로 리소스, 즉 introBackground(Title) 이미지 파일을 얻어온 후에 
                                         // 이미지 인스턴스를 introBackground라는 이름의 (이미지 변수에다가 담아준다(초기화해준다고도함) -> 15번 줄)
     }
     
       public void paint(Graphics g) {
           screenImage = createImage(Main.SCREEN_WIDTH, Main.SCREEN_HEIGHT); //  ()안에 있는 Main 사이즈대로 이미지를 생성에 screenImage에 넣겠다
           screenGraphic = screenImage.getGraphics(); //screenImage를 이용해서 그래픽 객체를 얻어오는 것.
           screenDraw(screenGraphic); // screengraphic에 그림을 그려주다.
           g.drawImage(screenImage, 00null); //screenImage를 0, 0 좌표에 그려준다.
       }  
       public void screenDraw(Graphics g) {
           g.drawImage(introBackground, 00null); //introBakground를 0,0에 위치해 그려준다.
           this.repaint(); // 다시 paint 함수를 불러온다. 즉 전체 화면이미지를 매순간마다 프로그램이 종료될때까지 그려주는 반복작업.
           
       }
     }