본문 바로가기
공부

C++ / Dx11 반사 / 좌표 충돌

by MY블로그 2023. 1. 2.

배경이미지사용시 폴더에넣고난뒤 비주얼스튜디오 탐색기폴더쪽에도 넣어줘야된다.

한장일때는 뒤에작업왒어도되지만 여러장일때는 꼭 해줘야됨.

 

불렛 클래스의 업데이트에 둔다.

업데이트 뒤에 이루어져도상관없으나

Late업데이트에 두는 방법을 사용한다.

불렛클래스에 레이트업데이트 함수를만들고

메인레이트업데이트에서 불렛레이트업데이트를 불러와준다.

 

플롯형의 숫자를 비교할때는 부동소수점때문에 == 같다면 이라는 조건을 사용 하면 안되다.

<= >= 작거나같다 크거나같다로 비교하도록한다.

이번과제는 벡터의 방향만을 바꾸는것이다.

 

한번 충돌되면 충돌영역에서 제외 시켜주는것이 중요하다.

화면의 사이즈가 바뀌거나 충돌영역에 딱걸쳐있으면 연속적으로 충돌되어 버그가생긴다.

// 위쪽방향 조건문
if(arrow.GetWorldPose().y > app.GetHalfHeight()+CAM->position.y)
{ // 화살의 월드포지션 Y가 > 화면의세로크기의반보다 커진다면
	fireDir.y *= -1; // 화살의 Y좌표 뒤집기
	arrow.SetWorldPosy(app.GetHalfHeight()+CAM->position.y); // 화살의 월드좌표(화면크기안으로들어오게)
}
// 아래방향과 좌우 방향은 위의 코드와 같은조건으로 방향조절만 해주도록한다.

 

 

댓글