본문 바로가기

java4

자바 비행기 게임 만들어보기 #4 이번 포스트에서는 적 비행기를 생성하고, 충돌 로직을 구현할 예정이다. 전체적인 구조를 설계했기 때문에, 크게 수정해야하는부분은 없다. 순서 적 비행기 생성 충돌 구현 기타 처리 끝! 적 비행기 생성 적 비행기를 생성하고, 자동적으로 움직이는 것 까지 구현을 해보려 한다. 전 포스터에서 설계한 클래스가 있기 때문에 그대로 사용하면 된다. width와 height은 충돌 처리를 위한 변수이다. ( 충돌처리를 하기 위해서 객체마다의 크기가 필요하다. ) x,y는 적 비행기의 위치값이며, moveSpeed는 말그대로 움직이는 속도를 말한다. 순서는 아래와 같이 동작하게 된다. Model객체에 적 비행기 객체를 담을 리스트(enemyFlights)를 선언해준다. 적 비행기를 원하는 만큼 enemyFlights객.. 2020. 5. 4.
자바 비행기 게임 만들어보기 #3 이번엔 게임 동작시키는데 있어서 큰 그림을 그리는 순서가 될 것 같다. 저번 포스터에서 비행기를 출력하고 움직이는 것까지 했는데, 이걸 하나의 비행기가 아닌 여러개의 비행기가 동시에 출력되고, 미사일등이 날라다니면서 충돌로직을 구현하려면 구조가 잘 짜여있어야한다. 또한, 나중의 확장성을 고려한다면 구조는 효율성에 있어서도 매우 중요하다고 생각든다. 이것저것 공부하다 결국 Swing에서 많이 사용되는 MVC패턴을 응용해서 만들어보기로 했다. 순서 MVC응용 구조 설계 Model View Controller 미사일 발사 MVC 응용 구조 설계 MVC를 알게된 경로는 Java 공식 문서와 튜토리얼 사이트 그리고 블로그이다. 기본적인 개념은 MVC - 위키피디아에 잘 나와 있다. 이번 프로젝트의 MVC 구조가 .. 2020. 5. 2.
자바 비행기 게임 만들어보기 #2 저번 포스터에서 비행기를 출력하고 움직이는 것 까지 구현을 하였다. 하지만 디버깅을 해보니 스레드로 인해 repaint()가 연속적으로 실행되는 부분이 많았다. 그래서 이를 해결하고자 paint()관련 메서드를 정리하고 해당 코드를 조금 수정하였다. 그리고 출력할 때 깜빡임을 없애고 부드럽게 하기 위해서 더블버퍼링을 구현하려고 한다. 순서 paint, update, repaint 더블 버퍼링 paint(), update(), repaint() 구글링을 통해 여러 블로그를 보고 그 개념에 따라서 구현을 했는데, 자꾸 생각한대로 결과가 안 나왔다. 그래서, 공식 문서를 확인하고나서 몇몇 블로그들과 내가 구현하고자하는 것이 다른 것을 알 수 있었다. 무작정 다른 블로그를 따라 공부하는 것보다, 공식 문서를 먼.. 2020. 5. 1.
자바 비행기 게임 만들어보기 #1 자바를 배우고, 한번도 나만의 프로젝트를 해본 적이 없다. 즉, 처음부터 내가 모든 것을 설계하고, 코드를 짜본적이 없다는 것이다. 자바 공부를 하고는 있는데, 문득 뭔가 정체되있다는 기분이 들었다. 여러 개발 블로그에 동기부여를 받아, 나의 첫번째 사이드 프로젝트를 시작해보려고 한다. '시작이 반이다'라는 말이 있지 않은가?? 오늘부터 꾸준히 집중해서 만들어 보려고 한다. 모든 코드는 Github에 공유 할 생각이다. 틀린 개념이나 비효율적인 부분이 많을 것입니다. 여러 문제점에 대한 댓글 환영합니다~ 주제 1945같은 2D로 된 비행기 게임을 구현할 예정이다. Unity를 쓰지않고, 자바의 GUI를 사용할 예정이다. 이루고자 하는 목표 자바 익숙해지기 ( 클래스, 스레드 등등 ) 객체지향 설계해보기 .. 2020. 4. 30.