| open-mgl-dev (開発バージョン) (0.7.9.80) | 2009-11-02 22:25 |
| open-mgl (DirectX9, VC++2008) (0.7.9) | 2009-09-27 20:32 |
| roast-dev (開発バージョン) (0.0.1.40-dev) | 2009-11-02 23:09 |
>Wikiトップ>August Framework>AF_チュートリアル1
August Framework は ver 0.6.9 以降で使えます。
ver 0.6.9以降ではディレクトリ構成が bin, doc, include, lib と言うシンプルな構成へと変わっています。
適当なディレクトリに放り込んで、include, lib へのパスを切ってください。そしてVCの新しいプロジェクトを作成します。
(※プロジェクトの設定としてincludeパス、libパスを切っても問題ありません。)
Win32 Applicationで作ってください(Visual C++ 6.0の場合。.NET以降では名前が変わってたかも・・・)。
「単純な Win32 アプリケーション」で作っておくと、勝手に StdAfx.h とかも作られるんで楽です。
プロジェクトが出来たら stdafx.h に「#include <mgl.h>」を追記してください。
そして本当にパスがちゃんと切られているか、ビルドにてテスト・・・。ちゃんとビルド出来たらinclude、及びlibへのパスが切られている事と思います。
最も簡単なプログラムを作ってみましょう。以下のコードをメインの.cppファイルに書いてください。
(※なんかIE6だと下の方に行っちゃうみたいです・・・と言うことなのでIE6の場合はずーーっとした方へ行ってください)
ビルドしてみましょう。・・・怒られ(リンクエラー)ますね。ライブラリファイルを追加するのを忘れてました。
プロジェクトの設定にてライブラリファイルの追加を行ってください。追加するライブラリ名は「mgllib.lib」です。
そして再ビルド。今度はちゃんとビルド出来ました。しかし、実行すると・・・
Plugin Error: attach file not found: nodll.jpg
エラーが出てしまいます。
DLLファイルを入れるのを忘れました。DLLファイルを実行モジュールと同じディレクトリに入れてください。
実行モジュールはパッケージ内、「bin」の中にあります。Debug版とRelease版がありますが、まぁ通常はRelease版でいいと思います。
これ(全DLLファイル)をコピーし実行してみましょう。
Plugin Error: attach file not found: august1.jpg
真っ白なウインドウが表示されたかと思います。
もうちょっとまともなプログラムにするとこんな感じ。
- #include "stdafx.h"
- class CMglTestFrame : public CAugustWindow
- {
- private:
- CAugustImage m_img;
- public:
- // 初期化時に呼ばれる
- void OnInit(){
- EnableEscEnd();
- CAugustWindow::RegistControl(&m_img);
- m_img.Load("test.jpg");
- }
- // ウインドウ生成前に呼ばれる
- void OnCreateWindow(agh::CREATE_WINDOW_INFO *pWindowInfo){
- pWindowInfo->nWinWidthSize = 800;
- pWindowInfo->nWinHeightSize = 600;
- pWindowInfo->strWindowTitle = "さんぷるぷろぐらむ";
- }
- };
- // WinMain
- int APIENTRY WinMain(HINSTANCE hInstance,
- HINSTANCE hPrevInstance,
- LPSTR lpCmdLine,
- int nCmdShow )
- {
- CMglTestFrame frame;
- frame.Start();
- return 0;
- }
test.jpgに関しては、適当に自前で用意して実行ディレクトリ(VC++の設定によっては実行モジュールと同じディレクトリとは限らないので注意!ちなみにVCデフォルトはプロジェクトディレクトりに設定されてます)に放り込んでください。
test.jpgを表示する以外の変更点としては、ESCキーで終了出来るようにし、ウインドウサイズとタイトルをデフォルトから変更しています。