[STS] 버블버블 - 물방울 기본 셋팅

HootJem's avatar
Dec 18, 2024
[STS] 버블버블 - 물방울 기본 셋팅
 
물방울은 JPrame 내부의 JLabel 로 화면에 나오기 때문에 JLabel 을 상속받아 구현됩니다.
그리고, 물방울은 생성되면 상승하기만 하기 때문에 아래와 같은 상태들을 가지게 됩니다.
@Getter @Setter public class Bubble extends JLabel{ // 위치 상태 private int x; private int y; // 움직임 상태 private boolean left; private boolean right; private boolean up; // 적군을 맞춘 상태 private int state; // 0(물방울), 1(적을 가둔 물방울) private ImageIcon bubble; // 물방울 private ImageIcon bubbled; // 적을 가둔 물방울 private ImageIcon bomb; // 물방울이 터진거 }
 
캐릭터가 어디에 있던지 캐릭터의 위치에서 물방울이 생성되어야 합니다.
물방울은 플레이어의 위치를 의존하게 됩니다.
 
notion image
private Player player; public Bubble(Player player) { this.player = player; initObject(); initSetting(); } private void initSetting() { left = false; // 물방울이 왼쪽으로 움직이는 상태 초기화 right = false; // 물방울이 오른쪽으로 움직이는 상태 초기화 up = false; // 물방울이 위로 움직이는 상태 초기화 // 물방울 생성 위치를 플레이어 위치로 설정 x = player.getX(); y = player.getY(); setIcon(bubble); // 물방울 초기 이미지를 설정 setSize(50, 50); // 물방울 크기 설정 state = 0; // 물방울 상태를 기본 상태(0)로 설정 }
따라서 Bubble 클래스는 생성자에서 Player 객체를 받아 캐릭터의 x, y 좌표를 물방울의 초기 위치로 설정합니다.
// 스페이스바를 눌렀을 때 물방울 생성 case KeyEvent.VK_SPACE: // 새로운 물방울 객체를 생성하고 플레이어 위치에 추가 Bubble bubble = new Bubble(player); add(bubble); // JFrame에 물방울 추가 break;
(플레이어의 X, Y 위치값을 참조하므로, 캐릭터가 이동한 뒤에야 생성된 물방울이 화면에 나타납니다.)
notion image
Share article

[HootJem] 개발 기록 블로그