YeaLow
article thumbnail
public class BubbleFrame extends JFrame {


	private void initListener() { 
		addKeyListener(new KeyAdapter() {
			
			@Override
			public void keyPressed(KeyEvent e) {
				switch (e.getKeyCode()) {
				case KeyEvent.VK_LEFT:
					if (!player.isLeft() && !player.isLeftWallCrash()) {
						player.left();
					}
					break;
				case KeyEvent.VK_RIGHT:
					if (!player.isRight() && !player.isRightWallCrash()) {
						player.right();
					}
					break;
				case KeyEvent.VK_UP:
					if (!player.isUp() && !player.isDown()) {
						player.up();
					}
					break;
				case KeyEvent.VK_SPACE: //버블의 주체는 player인데 bubbleFrame에서 지금 new를 하고 있다.
					Bubble bubble = new Bubble(mContext);
					add(bubble);
					break;
					}
			}

버블의 주체는 player인데 bubbleFrame에서 지금 new를 하고 있다.

 


방울하나가 적의 정보를 가지고 있으면 

방울 쓰레드 1개가 적군을 정보를 담을수 있으니 편하다
적군이 버블 계산을 하게되면 for문이 계속도는데 방울이 수백개 있으면 하나하나 다 계산해야 하기 때문에 효율이 좋지 않다.

적군은 10~ 20마리 안쪽이지만 물방울은 수백개가 나올수 있으므로 처리 효율을 따지면 물방울로 계산하는것이 좋다

 

// 40과 60의 범위 절대값
			if (Math.abs(x - enemy.getX()) > 40 && Math.abs(x - enemy.getX()) < 60) {
				System.out.println("물방울이 적군과 충돌하였습니다.");
			}

 

'Java' 카테고리의 다른 글

BubbleBubble-final  (0) 2022.10.11
자바 -의존성  (0) 2022.10.11
bubble - 물방울 메모리에서 소멸시키고 화면 다시 그리기  (0) 2022.10.10
전체 스레드 동작 원리 짚어보기  (0) 2022.10.07
버블이(?)가 달라졌어요  (0) 2022.10.06
profile

YeaLow

@YeaLow

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!