다음을 통해 공유


Spiro 샘플: 애니메이션 그리기 게임

업데이트: 2007년 11월

Spiro 샘플은 다음 기능의 사용 방법을 보여 주는 그리기 게임입니다.

  • 애니메이션 효과를 필요로 하는 응용 프로그램의 메모리 DC

  • MM_LOENGLISH 매핑 모드

  • CImageList를 사용하여 만든 이미지 목록(투명 모드 및 비트맵 끌어서 놓기 포함)

보안 정보:

이 샘플 코드는 개념을 보여 주기 위해 제공되며 가장 안전한 코드 작성 방법을 제시하지 않을 수 있으므로 응용 프로그램이나 웹 사이트에서 사용할 수 없습니다. Microsoft는 샘플 코드를 원래 용도 이외의 다른 용도로 사용하는 경우 발생하는 부수적이나 파생적인 손해에 대해 책임을 지지 않습니다.

샘플 및 이를 설치하기 위한 지침을 가져오려면

  • Visual Studio의 도움말 메뉴에서 샘플을 클릭합니다.

    자세한 내용은 샘플 파일 찾기를 참조하십시오.

  • 최신 버전 및 전체 샘플 목록은 Visual Studio 2008 Samples 페이지에서 온라인으로 사용할 수 있습니다.

  • 컴퓨터의 하드 디스크에서도 샘플을 찾을 수 있습니다. 기본적으로 샘플과 추가 정보 파일은 \Program Files\Visual Studio 9.0\Samples\ 아래의 폴더에 복사됩니다. Visual Studio Express Edition의 경우에는 모든 샘플이 온라인에 있습니다.

샘플 빌드 및 실행

Spiro 샘플을 빌드하고 실행하려면

  1. 솔루션 파일인 spiro.sln을 엽니다.

  2. 빌드 메뉴에서 빌드를 클릭합니다.

  3. 디버그 메뉴에서 디버깅하지 않고 시작을 클릭합니다.

도구 모음에는 네 개의 링 형식과 일곱 개의 휠 형식이 포함되어 있습니다. 링과 휠을 하나씩 함께 사용하여 여러 가지 "방사형 나선 무늬" 그림을 그릴 수 있습니다.

참고:

휠은 링으로 사용할 수도 있습니다. 이 경우 휠은 다른 휠의 외부에 설정됩니다.

그리기 영역에 링과 휠이 설정되면 휠의 "펜 지점"을 클릭한 다음 휠의 다른 지점으로 끌 수 있습니다. 펜 지점 위치를 변경하면 다른 그림이 만들어집니다. 또한 도구 모음에서 사용할 색을 선택할 수 있습니다. 마지막으로, 도구 모음에 있는 "width setting" 단추를 클릭하여 펜 너비를 선택할 수 있습니다.

이러한 설정을 선택한 다음에는 Play 단추를 클릭하여 그리기를 시작합니다. 이렇게 하면 그리기 동작이 트리거되며, Pause 단추를 사용하여 그리기 동작을 일시 중지할 수 있습니다. 또한 Step 단추를 사용하여 그리기 동작을 "단계별로 실행"할 수도 있습니다.

기타 기능

  • 그리기 속도   그리기 속도는 도구 모음에 있는 "Fast Drawing" 및 "Slow Drawing" 단추를 사용하여 제어됩니다.

  • 링 삭제 또는 위치 변경   그리기가 완료된 후 도구 모음에 있는 "cancel-ring" 또는 "cancel-wheel" 단추를 클릭하면 그리기 화면에서 링 또는 휠을 제거할 수 있습니다.

    참고:

    "cancel-ring" 단추를 클릭하는 경우 그리고 있는 휠이 표시되어 있으면 해당 휠도 제거됩니다.

    휠 또는 링의 위치를 변경하려면 링을 제거한 다음 다시 배치합니다.

  • 방사형 나선 무늬 복사 및 끌기   마우스를 사용하여 방사형 나선 무늬 전체를 그리기 영역의 다른 위치로 끌 수 있습니다. 그림을 복사하려면 Ctrl 키를 누른 채 새 위치로 끕니다.

  • 방사형 나선 무늬 제거   그리기 영역에서 그림을 제거하려면 그리기 화면 밖으로 끌어 놓습니다. 이 작업을 수행하려면 그리기 영역의 한계가 화면에 표시될 때까지 그리기 영역을 1배 이상 축소해야 합니다.

  • 확대/축소   확대 및 축소를 수행하는 두 개의 도구 모음 단추가 있습니다. 이 단추들은 그림을 그리는 동안에도 작동합니다. 그리기 영역의 한계가 표시될 때까지 몇 배 축소할 수 있습니다.

  • 인쇄   파일 메뉴에 있는 인쇄 미리보기 옵션을 사용하여 인쇄 전에 그림을 미리 볼 수 있습니다. 컬러 프린터를 사용하면 매우 훌륭한 패턴을 인쇄할 수 있습니다.

클래스 및 키워드

이 샘플에서는 다음의 클래스를 보여 줍니다.

CImageList, CToolBar, CPoint, CPen, CBrush, CDC, CArchive, CPaintDC, CRgn, CBitmap, CCmdUI, CToolBarCtrl, CSize

이 샘플에서는 다음의 키워드를 보여 줍니다.

CBitmap::CreateCompatibleBitmap, CBitmap::DeleteObject, CImageList::DragEnter, CImageList::DragLeave, CImageList::DragMove, CImageList::EndDrag, CDC::DPtoLP, CDC::LPtoDP, CDC::IsPrinting, CDC::SetWindowOrg, CDC::SetViewportOrg, CDC::FillRect, CCmdUI::Enable, CView::OnPrepareDC, CRect::SetRect, CRect::InflateRect, CToolbarCtrl::IsButtonChecked

참고 항목

기타 리소스

MFC 샘플