Spiro サンプル : アニメーション描画ゲーム
更新 : 2007 年 11 月
Spiro サンプルは、次の機能の操作方法を示す描画ゲームです。
アニメーション効果を必要とするアプリケーションのメモリ DC
MM_LOENGLISH マップ モード
CImageList を使用して作成される、透過モードやビットマップのドラッグ アンド ドロップを含むイメージ リスト
セキュリティに関するメモ : |
---|
このサンプル コードは概念を示す目的で提供されているものです。必ずしも最も安全なコーディング手法に従っているわけではないので、アプリケーションまたは Web サイトでは使用しないでください。Microsoft は、サンプル コードが意図しない目的で使用された場合に、付随的または間接的な損害について責任を負いません。 |
サンプルとそのインストール手順を取得するには
Visual Studio で、[ヘルプ] メニューの [サンプル] をクリックします。
詳細については、「サンプル ファイルの格納場所」を参照してください。
使用できるサンプルの最新バージョンと完全な一覧については、オンラインの Visual Studio 2008 Samples のページを参照してください。
サンプルは、コンピュータのハード ディスク上にもあります。既定では、サンプルおよび Readme ファイルは、\Program Files\Visual Studio 9.0\Samples\ の下のフォルダにコピーされます。Visual Studio Express Edition の場合、すべてのサンプルはオンライン上にあります。
サンプルのビルドと実行
Spiro サンプルをビルドおよび実行するには
ソリューション spiro.sln を開きます。
[ビルド] メニューの [ビルド] をクリックします。
[デバッグ] メニューの [デバッグなしで開始] をクリックします。
ツール バーには、4 種類のリングと 7 種類のホイールがあります。リングとホイールを 1 つずつ組み合わせて、さまざまな "スパイログラフ" の描画を作成できます。
メモ : |
---|
ホイールをリングとして使用することもできます。この場合は、ホイールが別のホイールの外側に設定されます。 |
リングとホイールが描画領域に設定されたら、ホイールの "ペンスポット" をクリックして、ホイール上の別の位置にドラッグできます。ペンスポットの場所を変更することによって、別の描画が生成されます。さらに、使用する色をツール バーで選択できます。また、ツール バーの [Pen Width] をクリックすると、ペンの幅を選択できます。
これらを設定した後、[Play] をクリックすると描画が開始します。開始された描画動作を停止するときは、[Pause] をクリックします。[step] を使用すると、"ステップ実行" できます。
その他の機能
描画速度 描画速度は、ツール バーの [Fast Drawing] および [Slow Drawing] を使用して制御します。
リングの消去と再配置 描画が完了したら、ツール バーの [cancel-ring] または [cancel-wheel] をクリックして、描画サーフェイスからリングまたはホイールを削除できます。
メモ : [cancel-ring] をクリックしたときに、ホイールの描画が存在している場合はそのホイールも削除されます。
ホイールまたはリングを再配置するには、リングを削除してから配置し直します。
スパイログラフのコピーとドラッグ 完成したスパイログラフは、描画領域の別の場所にマウスでドラッグできます。描画をコピーするには、Ctrl キーを押しながら描画を別の場所までドラッグします。
スパイログラフの削除 描画領域から描画を削除するには、描画サーフェイスの外側に描画をドラッグ アンド ドロップします。これを実行するには、描画領域の境界が画面に表示されるまで 1 回以上表示を縮小する必要がある場合があります。
拡大/縮小 拡大および縮小するためのツール バー ボタンが 2 つあります。これらのボタンは、描画の作成中も使用できます。数回表示を縮小すると、描画領域の境界が表示されます。
印刷 [File] メニューの [Print Preview] をクリックすると、印刷前に描画を表示できます。カラー プリンタでは塗りつぶしパターンをきれいに印刷できます。
クラスとキーワード
このサンプルでは、次の各クラスを使用します。
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