Never Ending Jump - 구현 설명

Kclient·2022년 12월 16일
0

포트폴리오

목록 보기
7/7

프로젝트 소스코드

1. 자이로 센서

Doodle.java

  • 게임 회전 벡터 센서을 사용하여 조작
  • 핸드폰을 좌우로 기울여서 장애물을 피해 발판을 밟아 위로 올라가도록 구현

2. 게임 오브젝트

Doodle.java / Bullet.java / Block.java / Monster.java

  • 플레이어, 총알, 5종류의 발판, 2종류의 몬스터를 제작
  • 오브젝트가 추가, 삭제 될시 업데이트, 렌더링 중간에 작업되지 않도록 View.post()로 동기화 문제를 해결

2.1 충돌 체크 - 정적 메소드 사용

CollisionHelper.java

  • 정적 메소드를 활용하여 추가적으로 객체를 생성하지 않고 충돌을 확인 할 수 있도록 구성

2.2 오브젝트 풀 패턴

Recycle.java

  • 잦은 생성과 삭제가 있는 게임특성상 한번 생성한 객체를 재활용하기 위하여 풀에 넣어두고 사용
  • 발판과 몬스터, 총알을 삭제시에 풀에 넣어두고 다시 객체를 사용할때 꺼내와서 사용

3. 무한 스크롤링 배경

  • 배경에 스크롤링효과를 주어서 끝없이 이어지게 표현
  • 스크롤링 될때 다른 오브젝트들 모두 좌표를 이동시키고 화면 바깥으로 나가면 삭제를 진행

4. 싱글톤 패턴

GameView.java / MainGame.java / LobbyUI.java / ScoreUI.java / PauseUI.java / Doodle.java

  • 하나만 생성되어야 하는 GameView, MainGame, Lobby 등의 Scene과 플레이어를 싱글톤으로 만들어서 사용

profile
뭐든 손에 잡히는 대로 해보자

0개의 댓글