inblog logo
|
[HootJem] 개발 기록 블로그
    java

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

    HootJem's avatar
    HootJem
    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

    💡
    1. 게임 맵과 캐릭터 추가 https://inblog.ai/hj/sts-버블버블-게임-맵과-캐릭터-추가하기-33126
    1. 캐릭터 이동 https://inblog.ai/hj/sts-버블버블-캐릭터-이동-33127
    1. 스레드 사용하여 이동하기 https://inblog.ai/hj/sts-버블버블-스레드-사용이동-33335
    1. 점프하기 https://inblog.ai/hj/sts-버블버블-점프하기-33388
    1. 충돌 감지 https://inblog.ai/hj/sts-버블버블-충돌감지-33391
    1. 외벽 충돌 시 캐릭터 정지 https://inblog.ai/hj/sts-버블버블-외벽-충돌-시-캐릭터-정지-36946
    1. 캐릭터 업 다운 https://inblog.ai/hj/sts-버블버블-캐릭터-업-다운-38143
    1. 캐릭터 업 다운 시키기 https://inblog.ai/hj/sts-버블버블-캐릭터-업-다운-38143
    1. 물방울 생성하기(기본셋팅)
    Share article

    [HootJem] 개발 기록 블로그

    RSS·Powered by Inblog