인수의 알카노이드 링크(http://165.194.17.15/~nuburizzang/Arcanoid/Arca.zip) |
~cpp CArcaObject - 알카노이드에 등장하는 모든 오브젝트들의 부모 클래스(위치, 크기, 비트맵, getter/setter) CArcaBall : public CArcaObject - 공 CArcaBar : public CArcaObject - 바 CArcaBlock : public CArcaObject - 블록 CArcaBackground - 배경 CArcaItem : public CArcaObject - 아이템 CArcaMissile : public CArcaObject - 미사일 CArcaDoc : 위의 객체들을 포함한다. 블록은 벡터로 저장한다. 아이템은 먼저 나온걸 먼저 먹게 되므로 덱으로 저장한다. CArcaView : 그려준다.
~cpp ... CDC *pDC = GetDC(); CPen pen, *pOldPen; pen.CreatePen(~~); oldpen = pDC->SelectObject(&pen); ... 그려준다 ... pDC->SelectObject(pOldPen); pen.DeleteObject();
~cpp // 헤더 CPen pen; ... // 소스 OnInitialUpdate() 맞나? 어쨌든 초기화 하는거에서 pen.CreatePen(만든다.); //해주고 //그려줄때는 pDC->SelectObject(&pen); //이런식으로 해서 그리다가 //OnDestroy()에서 DeleteObject()하는 방식을 쓰거든요.
~cpp GetDC
로 얻지도 않고 그릴려고 시도 했는데, 해봐 결과를 알수 있을꺼야. pDC는 끊임없이 변화를 시도하는 녀석이라 상태 유지가 되지 않더군. 바로 전까지 가진 pDC는 옛날 녀석이라 이거지, 결론으로 네가 의도하는 대로 상태 저장이 가능한 GDI Object를 그렇게 쓰는거 부담없다. --neocoin