EASY7
Java Swing :: 공튀기기 버전1 본문
설명:
위, 좌, 우 벽에 닿으면 반사되고
아래 벽에 닿으면 게임에서 지는 게임입니다.
막대기에 닿으면 공이 반사되므로 막대기를 좌우로 움직여 공을 살려내야합니다.
응용:
공의 스피드 조정하는 버튼 만들기
원리:
1. 공 움직이기
TimerListener timerListener = new TimerListener();
_timer = new Timer(20, timerListener);
private class TimerListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
_ball.move();
repaint();
}
}
1000=1초로 보고
20=0.02초마다 timerListener의 actionPerformed를 실행시킨다.
즉, 0.02초마다 ball을 move시킨다
2. 막대기 움직이기
private class MoveKeyListener implements KeyListener {
private DrawingPanel _drawingPanel;
public MoveKeyListener(DrawingPanel drawingPanel){
_drawingPanel= drawingPanel;
}
@Override
public void keyPressed(KeyEvent e) {
int keyPressed = e.getKeyCode();
if (keyPressed == KeyEvent.VK_LEFT) {
_block.moveLeft();
}
if (keyPressed == KeyEvent.VK_RIGHT) {
_block.moveRight();
}
_drawingPanel.repaint();
}
오른쪽 방향키와 왼쪽 방향키를 누르면 block(막대기)를 오른쪽 또는 왼쪽으로 움직인다.
public void moveLeft(){
int newX=_currentLocation-Constant.D_X;
if (newX<0){
_currentLocation=0;
}else{
_currentLocation=newX;
}
_movingBlock.setLocation(_currentLocation, _blockY);
}
'Portfolio' 카테고리의 다른 글
실행파일 / git 사용법 (0) | 2017.10.13 |
---|---|
온습도센서 ky015/DHT11 Humidity & Temperature Sensor Module (0) | 2017.09.07 |
Java Swing :: 공튀기기 버전2 (1) | 2016.12.23 |
Java Swing 이용해서 색칠공부 (0) | 2016.12.23 |
수강신청 사이트 만들기(jsp, servlet, jdbc) (7) | 2016.12.16 |