벽돌게임 만들기 3 - Bar 위치값 설정, Bar 움직이기

JEONG SUJIN·2023년 1월 5일
0

게임만들기

목록 보기
3/5

키 리스너로 이제 Bar가 움직이도록 설정

public void setKeyListener() {
			//JFrame에서 가지고 있는 함수를 추가 
		this.addKeyListener(new KeyAdapter() {
			 @Override
				public void keyPressed(KeyEvent e) { //key Event 
					if(e.getKeyCode()== KeyEvent.VK_LEFT) {
						System.out.println("Pressed Left Key");
					}else if(e.getKeyCode() == KeyEvent.VK_RIGHT) {
						System.out.println("Pressed Right Key");
					}
				}
		});
	
		}

키보드 화살표 ⬅️,➡️ 누르면 콘솔창에 로그가 찍히는걸 볼 수 있다.

public void setKeyListener() {
			//JFrame에서 가지고 있는 함수를 추가 
		this.addKeyListener(new KeyAdapter() {
			 @Override
				public void keyPressed(KeyEvent e) { //key Event 
					if(e.getKeyCode()== KeyEvent.VK_LEFT) {
						System.out.println("Pressed Left Key");
						barXTarget -= 20;
						if(bar.x < barXTarget) { //예외처리, 계속 키보드를 눌렀을 경우
							barXTarget = bar.x; //현재 크기로 지정
 						}
					}else if(e.getKeyCode() == KeyEvent.VK_RIGHT) {
						System.out.println("Pressed Right Key");
					    barXTarget += 20;
					    if(bar.x > barXTarget) {
					    	barXTarget = bar.x;
					    }
					}
				}
		});
		

		}

타이머 설정

public void startTimer() {		
			timer = new Timer(20, new ActionListener() {
				@Override
				public void actionPerformed(ActionEvent e) {
					movement();
					checkCollision();
					checkCollisionBlock();
					myPanel.repaint(); //Redrow
				}
			});
			timer.start(); 
		}

Bar 움직이는거 확인

public void movement(){
			if(bar.x < barXTarget) {
				bar.x += 5;
			}else if(bar.x > barXTarget) {
				bar.x -= 5;
			}
		};

profile
기록하기

0개의 댓글