チュートリアル
それではさっそくチュートリアルを始めましょう、習うより慣れろです。
なお、当チュートリアルはVCの取り扱いを心得ている事を前提に記述されています。
★AbyssLibをソリューションに追加する
まずは、AbyssLibをあなたのソリューションに追加する方法について説明します。
1.AbyssLibSet.zipを解凍します。
2.AbyssLibのソリューションファイル(.sln)を開きます。
あなたがVC2003を使用しているのならAbyssLibSet→Src→AbyssLib→Projects→VC2003を、
あなたがVC2005を使用しているのならAbyssLibSet→Src→AbyssLib→Projects→VC2005を、
あなたがVC2008を使用しているのならAbyssLibSet→Src→AbyssLib→Projects→VC2008を開きましょう。3.AbyssLib.slnをダブルクリックし、VCを起動しましょう。そして、DebugビルドとReleaseビルドを行いましょう。
4.AbyssLibを追加したいソリューションを開いてください。
5.メニューから「プロジェクトの追加」→「既存のプロジェクト」を選択し、AbyssLib.vcprojを指定します。
6.AbyssLibを必要とするプロジェクトを右クリックして「追加」→「既存項目の追加」を選択し、AbyssLib.libとAbyssLib_d.libを追加します。
7.AbyssLib.libをReleaseビルド用、AbyssLib_d.libをDebugビルド用に設定します。
AbyssLib.libを右クリックして「プロパティ」を選択し、「構成」をDebugにしてから「ビルドから除外」を「はい」にします(「ビルドから除外」は、「構成プロパティ」→「全般」に存在します)
同じようにAbyssLib_d.libを右クリックして「プロパティ」を選択し、「構成」をReleaseにしてから「ビルドから除外」を「はい」にします。8.プリコンパイル済みヘッダ(stdafx.h)で、AbyssLibのindex.hとstdafx.hをincludeします。
プリコンパイル済みヘッダを指定していない場合は、全てのソースファイル(.cpp)で上記の二ファイルをincludeしてください。9.プロジェクトの依存関係を設定します、AbyssLibを必要とするプロジェクトを右クリックして「プロジェクトの依存関係」を選択してください。
「プロジェクトの依存関係」ダイアログが表示されますので、依存先にAbyssLibを指定します(AbyssLibにチェックを入れる)以上で、AbyssLibをあなたのソリューションに追加する方法についてのチュートリアルは終了です。
| ★ランタイムライブラリについて AbyssLibのランタイムライブラリは、Debug時はマルチスレッド
デバッグ、Release時はマルチスレッドとなっています。 |
★AbyssLibを利用する
次に、AbyssLibをあなたのソリューションで利用する方法について説明します。
1.まずは、AbyssLibをあなたのソリューションに追加してください。
2.以下のクラスを継承し純粋仮想関数を実装しましょう、必要であれば仮想関数の再定義も行ってください。
NovelPlayer、BaseInputManager、BaseSoundManager、BaseDrawManager3.アプリケーション開始時にvoid LoadPlugin();を、アプリケーション終了時にvoid FreeCommand(INovelEngine* Outer);とvoid FreePlugin();を呼び出しましょう。
アプリケーション終了時の呼び出しは、必ずFreeCommand→FreePluginの順番で行ってください(さもないと、アクセス違反等のエラーが発生します!)4.bool NovelPlayer::LoadScript(const string& FileName);でスクリプトファイルを読み込み、void NovelPlayer::Run();でスクリプトを実行しましょう。
スクリプトが実行されている状態(≒AVGパート)かは、unsigned int NovelPlayer::GetState() const;で判断可能です(詳細は、リファレンスを参照しましょう)以上で、AbyssLibをあなたのソリューションで利用する方法についてのチュートリアルは終了です。
| ★NovelPlayerクラスについて NovelPlayerクラスはノベルエンジンの中核となるクラスですが、このクラスは単独で利用される事を前提に設計されています。 |
以上でチュートリアルは終了です、継承する際の注意点などは実際のソースコード(AbyssLibやScriptPlayerなど)やリファレンスを参照しましょう。