void Monster::Init(){
_stat.hp =100;
_stat.maxHp =100;
_stat.speed =10;
_pos = Pos{400,300};// 초기 위치 설정
_lookPos = Pos{530,70};// 몬스터가 바라보는 목표 위치
_lookDir = _lookPos - _pos;// 방향 벡터 계산
_lookDir.Normalize();// 단위 벡터로 변환}
몬스터의 체력, 속도, 위치, 방향을 초기화합니다.
_lookDir은 방향 벡터로, 몬스터가 목표를 바라보는 방향을 나타냅니다.
3) Render() 함수
void Monster::Render(HDC hdc){
Utils::DrawCircle(hdc, _pos,100);// 몬스터를 원형으로 시각화
HPEN pen =::CreatePen(PS_SOLID,1,RGB(255,0,0));
HPEN oldPen =(HPEN)::SelectObject(hdc,(HGDIOBJ)pen);{
Utils::DrawLine(hdc, _pos, _lookPos);// 몬스터의 방향 표시}::SelectObject(hdc, oldPen);::DeleteObject(pen);
Vector mousePos =GET_SINGLE(InputManager)->GetMousePos();// 마우스 위치
Vector monsterToMouseDir = mousePos - _pos;// 마우스 방향 계산
monsterToMouseDir.Normalize();float dot = monsterToMouseDir.Dot(_lookDir);// 두 벡터 내적float rad =::acos(dot);// 아크코사인으로 각도 계산float angle = rad *180/3.14;// 라디안을 도(degree)로 변환}