Version 2000.01.30
■概要 DirectXを簡単に、簡潔に使うためのクラスライブラリ(ライブラリと言うほど多機能じゃないけど)です。現在、Direct Draw、DirectSound、DirectMusicに対応しています。これだけあれば、一応ゲームは作れるのではないと言う感じです。 それぞれのDirectXオブジェクトの初期化、データの読み込み、展開(再生)を主眼に設計されています。アプリケーション固有のデータ、例えばオフスクリーンサーフェスやセカンダリバッファ、セグメントはクラスの外に持つ形になっています。要は、面倒くさい初期化をプログラマの目から隠し、もう一つ面倒くさいデータの読み込みなどを楽にしようという訳です。 オフスクリーンサーフェス、セカンダリバッファ、セグメントなどのデータを外に出したことで、扱いは多少難しくなってしまいましたが、先を考えると利点は多いと思います(どんなデータをいくつ使うか、プログラマがクラスの外で決定できる)。 そういった訳で、名前とは裏腹に(^;DirextXの知識が多少はないと使えないかも知れません。が、サンプルソースを見て使い方が分ればOKですので。DirectXの思想位しか知らなくても使えるかも知れません。まぁ、それでもWinProcとはなんぞやとか、WinMainとはなんぞや位は判ってないと辛いかも知れませんので、なんにも知らない人は多少は勉強が必要です。 ■EasyXクラスライブラリ EasyXのクラスライブラリソースです。プロジェクトに追加して使用して下さい。 EasyDraw DirectDraw用のクラスライブラリです。EasyDraw.cppとEasyDraw.hがあります。 EasySound DirectSound用のクラスライブラリです。EasySound.cppとEasySound.h、及びEasySound3D.cppとEasySound3D.hがあります。EasySound3Dを使う場合は、EasySoundもプロジェクトに追加する必要があります。 EasyMusic DirectMusic用のクラスライブラリです。EasyMusic.cppとEasyMusic.hがあります。 ■リファレンスマニュアル 現在、DirectDraw、DirectSound、DirectMusicの3つのDirectXに対応しています。 EasyDrawリファレンス EasyDrawの初期化、DirectDrawの用語解説、各種メソッドの使い方(初期化、スプライトの作り方、描画、解放など)を解説しています。最後には、簡単なサンプルのソースも載せてあります。参考にしてください。 EasySoundリファレンス EasySoundの初期化、DirectSoundの用語解説、各種メソッド(初期化、セカンダリバッファの作り方、再生の仕方、解放など)を解説しています。最後には、簡単なサンプルのソースも載せてあります。 EasyMusicリファレンス EasyMusicの初期化、DirectMusicの用語解説、各種メソッド(初期化、セグメントの作り方、再生の仕方、解放など)を解説しています。最後には、簡単なサンプルのソースも載せてあります。 ■サンプル とりあえず使い方を学習するためにサンプルを用意しました。VC++Ver6.0以降でビルドできると思います。 EasyDrawサンプル
EasySoundサンプル
EasyMusicサンプル
EasyDraw、EasySound、EasyMusicサンプル
■配布、改造、免責 配布は自由、使うのも自由とします。また、改造も自由です。でも、改良したら、その場所と理由を教えていただけると嬉しいです。こちらも参考になりますので。でもね、そこまで出来る人って自分用のライブラリを、既に持ってたりするんですよね。基本的には初心者用ですからね、このライブラリ。とか言いつつ、データを外に出す仕様にしたり(^;。中途半端な設計だ・・・。っていうか、自分用に設計したもんすから。改造後のファイルですけど、マニュアルなんかと不整合が出ますので、一応配布禁止とします。が、まぁ、厳密に禁止ってわけじゃ無く、改造した事を相手に伝えればOKとしときます。 ちなみに、EasyXを使って何かソフトを作って、EasyXのせいで何か起こっても、責任は取れませんです。お約束ですが。ただ、バグがあった場合は修正しますので、メールでも送って下さい。 ■予定 とりあえず、Direct Inputは作ろうかと思っています。Direct Playは、クラスにするには構造が複雑だし、意味が無いような気もしつつ、ピアツーピアならクラスにしても良いかなとか、色々考え中です。通信対戦のゲームも作りたいので、自分用に作ろうかなとか。 あと、DirectXと言ったらと言う感じのDirect3Dですが、DirectX7から追加されたDirect3DXがあるんですよね。これ使えば楽勝で初期化もなんもかんも出来てしまうので、Easy3Dの必然性を感じないような気も・・・。どうしましょ? と、こんな感じですか。一通りライブラリが出来たら、次回作、「かるねあ」作りますんで。それまでサイナラ〜。かるねあを公開できる頃には、新しいEasyXもリリースする予定ですので。 ■二言三言 ふ〜、1ヶ月ほどかけて、やっと一通り揃いました。ドキュメント、サンプル、クラスと。結構掛かりましたね。まぁ、仕事してるとこんなもんですか。 で、EasyXですが、本来自分の為に設計してるもんで、初心者用と言うには難しく、判る人が使うには中途半端というか、判る人は自分で作ってるって感じのライブラリになってます。とりあえず、DirectX初心者の人がコレを使ってDirectXの勉強とかして、EasyXを改造して自分用のライブラリにしちゃう、なんて事になったらいいかなとか思ってます。なんせ、DirectSoundとかDirectMusicのクラスライブラリってあんまり無いですからね。フリーウェアだと。なんでか知らないけどさ。DirectDrawとかDirect3Dなんかは結構あるんだけど。 で、まぁ、自分のゲーム作るために必要なんで作ってみたのが事の始まりで、本当はDirectMusicなんか使うはずじゃなかったんだけど、MCIがイマイチうまく動かない(Windows起動後1回目の実行でこける(原因はパスを未設定だからなんだけど))って事で、EasyMusicとかも作ってみました。全体的にいい加減な部分とかあるんで、実際にゲーム(かるねあ)を作りながら修正して行こうかと思っております。なので、これは、まぁ、こんなん作ってみましたって感じで。ええ。 んじゃ、ま、これをどれくらいの人が読むのか判らないですけど、かるねあ、お楽しみに。っていうか、GENESIS ROCKとかもよろしくです。でわ。 written by Matsumoto keizi
|