Event 키보드(버튼, 프레임이동)



1번 프레임 : 2개의 버튼을 가지고 방향키 UP, DOWN 키보드를 눌러 ENTER로 선택하는 것 까지!!!!

2번 프레임 : 백스페이스를 누르게 되면 1번 프레임으로 이동!!!!!



Event 클래스를 만들다 보니 boolean형의 변수를 활용하는 부분에 대해서 편리함을 알게되었다.




배경음악 삽입


메인프레임 - 

메인 프레임에 배경음악 삽입을 하고 다음 프레임으로 넘어갈 경우 배경음악 Off, 

다시 이전 프레임인 메인 프레임으로 이동 시 배경음악 On 으로 구성한다.


곡 선택 프레임 - 

배경음악은 없고 띄워져 있는 앨범에 대한 곡(클라이맥스)이 나오게 된다.


게임 프레임 - 

선택한 곡이 나온다.



우선 Rhythm_Window 클래스를 손봐준다.!!

생성자에 init()이라는 메소드 호출을 하고 init()메소드에서 사용중인 PC의 해상도를 읽어 

그 해상도의 비율에 맞춰서 크기를 지정하고 정갈하게 프레임 4개의 꼭지점 부분을 동그랗게 표현한다.

처음에는 프레임 크기 및 버튼 위치를 좌표로 설정하였으나 사용하는 PC의 해상도가 다르기 때문에 

생각한 것이 변수를 생성하여 비율(?)로 맞추는 방법을 택하였다.


Dimension d = Toolkit.getDefaultToolkit().getScreenSize();                         //현재 PC의 해상도 값을 가져온다.

java.awt.geom.RoundRectangle2D.Double                                              //프레임 4개의 꼭지점을 동그랗게 표현한다.



Loadimage() 메소드에서는 각 프레임 및 버튼 이미지를 모두 불러오는 이미지 입출력 부분이다.



Main_Sound() 메소드에서는 배경음악을 지정한다.

매개인자는 배경음악 파일이며, 단순히 배경음악을 실행시키는 역할을 하게 된다.


Stop_Main_Sound() 메소드에서는 이를 멈추는 역할을 한다.

처음에는 메인 프레임에서 다음 프레임으로 넘어갈 때 배경음악을 어떻게 종료해야할지 쓰레드를 사용해야 하는지에 대해서 생각해보았다.

쓰레드로 구현해보았으나... 안되는건지 못하는건지 모르겠지만 메소드를 추가함으로써 해결되었다.

 

Stop_Main_Sound() 메소드는 Rhythm_Events클래스에서 메인프레임의 버튼(mouseClicked) 클릭 이벤트 부분에서 호출하게 된다.


프레임 구성


3개의 기본 프레임을 Rhythm_Game 클래스에 구성하였다.

Rhythm_Game 클래스는 앞으로 GUI 관련 구성 "public void Render(){}"과 메인 메소드를 담당할 것이다.









우선 프레임 1, 2, 3 번째를 나타낸 것인데... 디자인관련 해서는 나중에 보완하도록 할 것이다... 너무허접해보인다 ... (디자인이 퀄리티에 매우 중요한 영향이 끼치는 것 같다..)




아이디어 구상 & 틀


 - 보통 오락실을 떠올리게 되면 리듬게임, 격투게임, 슈팅게임을 떠올리게 된다. 

그 중에서 리듬게임 하면 EZ2DJ를 가장 많이 알고 있고 가장 많이 해본 게임일 것이다.

고등학교 시절 손가락으로 터치가 되는 리듬을 따라가면서 도착지점에서 터치를 멈추는

그러한 게임을 해본 적이 있다. 그 때 당시에는 약간의 충격을 받았었다. 터치(?)가 되는 기계로

리듬게임을 한다는 그러한 생각이 쉽게 들지 않았다. 하지만 터치로 스마트폰을 조종하는 지금

흔한 게임이겠지만 그때의 추억을 떠올리면서 만들어 보고 싶었다.


진행순서

아이디어 구상 & 디자인 구상 -> 설계 -> 개발 파트분담 -> 개발 

-> 개발 마무리작업 -> 디자인 개발 -> 디자인 적용 -> 통합 마무리


클래스 구성


Rythm_Game.java

1. 생성자(){setEvent()}

2. 쓰레드

3. Render(){}

4. Main

Rythm_Event.java

KeyListener, 

MouseListener, 

MouseMotionListener 인터페이스 상속

Rythm_Select.java

1. GUI

2. 이벤트 & 변수활용(True&False)

3. 다양한 버튼(뒤로가기&선택 등)

Rythm_Play.java

1. 이미지 삽입

Rythm_Sound.java

2. 사운드 삽입(쓰레드 포함)



  총 3개의 프레임으로 구성하며 이미지, 사운드, 효과음, 이벤트, 메인(GUI 프레임 구성) 등으로 구성하였다.

  초기 구성이기 때문에 개발단계에서 언제든지 필요에 따라 수정, 보완할 계획이다.


대략적인 GUI


메인GUI


노래 선택 GUI


게임 속 GUI


+ Recent posts