외부 클래스의 벡터의 요소를 가져와 충돌 처리

* 외부 클래스 종류
1. 미사일 클래스

//총알 구조체
struct tagBullet
{
image* bulletImage;
RECT rc;
float x, y;
float fireX, fireY;
float speed;
float angle;
float gravity;
float radius;
bool fire;
};

private:
//총알 구조체를 담을 벡터
vector<tagBullet> _vBullet;

//겟터 함수
vector<tagBullet> getVBullet() { return _vBullet; }

//셋터 함수
vector<tagBullet> setVBullet(int num, bool fire)
{
_vBullet[num].fire = fire;
return _vBullet;
}




2. 플레이어 클래스



* 플레이어 클래스에서 미사일 클래스의 렉터를 받아와 충돌처리
- 싱글톤을 이용하는 방법과 겟터/셋터 함수를 만들어 처리 하는 것 중 싱글톤은 보통 메니저 클래스에 사용함으로 겟터/셋터 함수를 만들어 처리
- 겟터 함수로 벡터를 받아와 충돌 시 벡터 내 미사일의 fire = false 로 변경

for (int i = 0; i < _missile->getVBullet().size(); i++)
{
if (IntersectRect(&rc_temp, &rc, &_missile->getVBullet()[i].rc))
{
_missile->setVBullet(i, false);
}
}





댓글

  1. 쌤 솔루션은 클래스간 '상호 참조' 라는 방법이 있다고 한다.
    찾아보자...

    답글삭제

댓글 쓰기