- Main Page
- Namespaces
- Classes
- Related Pages

# マニュアル ＆ API ドキュメント

### 0.11

## イントロダクション

BuddhaLib / BuddhaCpp の API ドキュメントへようこそ。 このドキュメントはまだ未完成ですが、 BuddhaLib を使ってアプリケーションを開発する際に参照できる クラスとメソッドの仕様に関する多くの情報があります。

BuddhaLib は使いやすく、また XNA と類似したクラス体系を持つことで学習コスト/リスクを抑えた３Ｄライブラリを 目指してます。このドキュメントに関して、何か質問や提案がありましたら、 minahito@users.sourceforge.jp まで ご連絡ください。

## インデックス

- ネームスペース : 名前空間で分けられたライブラリをそれぞれたどる場合はこちら
- クラスリスト : サマリ付きの全クラス一覧
- メンバリスト : API の機能が分らないときにすぐ探せます
- アプリケーションの開発方法 : プロジェクトの追加方法を忘れたらここで調べてください

### 付記

- コンベンション
- 被共有（シェアード）ポインタ
- example ヘッダ

## サンプル

     #include <BuddhaLib.h>
     using namespace BuddhaLib;

     // マクロを使って WinMain 関数を書くことを避けることができます
     #include <example/BuddhaExampleMain.h>

     class MyGame : public Game
     {
     protected:
        // 必ずひとつのグラフィックデバイスマネージャが必要です
        GraphicsDeviceManager *m_pGraphics;

     public:
        MyGame(void)
        {
          // コンストラクタ内で、グラフィクスデバイスマネージャを作っておいてください
          m_pGraphics = new GraphicsDeviceManager(this);
        }

        virtual ~MyGame(void)
        {
          // SAFE_DELETE マクロは NULL でないポインタを delete し、NULL に書き換えるマクロです
          SAFE_DELETE(m_pGraphics);
        }

     protected:
        void Initialize(void)
        {
          // ここにグラフィック以外の初期化コードを書きます
        }

        void LoadGraphicsContents(bool loadAllContent)
        {
          // ここにグラフィック関係のロードを行うコードを書きます
        }

        void UnloadGraphicsContents(bool loadAllContent)
        {
          // ここにグラフィック関係の破棄を行うコードを書きます
        }

     public:
        void Update(const GameTime &gameTime)
        {
          // ここにゲームロジックを書きます
        }

        void Draw(const GameTime &gameTime)
        {
          m_pGraphics->GetGraphicsDevice()->Clear(Color::CornflowerBlue);
          // ここにゲーム描画ロジックを書きます
        }
     }