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;
}
};