FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

西ゲ開発に関して(5)

宣言どおり約3日でなんとかDirectX関連を簡易的にまとめることが出来たように思います。
そもそもDirect3D(今回はDirect3D9)は名前の通り3D描画に特化しているライブラリらしいので、
2D描画に関してはそんなに直接サポートされていません。・・・多分されてないように感じます。
一応スプライト機能ってのはあるんですが、別にそんなもの使うまでも無く板ポリにテクスチャ
はっつけて適当な場所に表示させれば見た目なんか動いてるのでそれでいいんじゃないかと思います。
逆に言うと2Dしか使えません、残念ながら。3Dとかプログラム以前に行列がさっぱりだぜ(数学的な意味で)!

何より9には座標変換済み頂点と言う頂点シェーダを考えなくて良い仕組みが備わっているっぽいので
2Dは結構簡単に座標指定だけで表示することが出来るみたいです。まぁ多分3Dも同じだけど。
10からはシェーダのプログラム自体を書かなきゃならんぽいのですがさっぱりなので却下です。
っていうか前にも書いたけど宅のPCがわりと低スペック・・・と言うよりXPなのでDirectX10は
対応してないんじゃなかったかなーと。

とりあえずウィンドウとフルスクリーンは選べるようにはして見ました。
ただしやっぱりウィンドウモードで起動すると若干フルより処理がもたつく感じ・・・?
あと残念ながらめんどくさいのでデバイスロストには対応していないので、
タスクマネージャ立ち上げたり何らかの理由で強制的にフルスクリーンが解除されると
描画されなくなってしまいますが。解決法としては立ち上げなおせよ、と。
そのほかサウンドとミュージック、入力関連も残念なことにあまり再利用性が無い感じに一応
クラス化できました。メイン関数の長さが約1/10程度になったのでかなり見やすくなってますね。


さて、ここからはシューティングゲームのシステムを作っていくわけですね。
効率やら気にしなければ前回の感じ程度には動かせるのはわかったので少しは効率を重視していこうかと。
多分ここが一番時間がかかるところでしょうかね。やったこと無いからわかんないけど。
でも意外とDirectXも使えないことは無い代物だったのでなんとかなるような気がします。
まずは自機とか敵機とかのゲーム内オブジェクトを管理できるように適当な基底クラスから
派生させて作っていくところからでしょうかね。その後はそれをまとめてリスト管理できるクラスの作成です。
そこまでいってしまえば、後はどのタイミングで敵だそうか~という次元の話なので早い・・・?
なんとなくここが一番煩雑な感じになりそうな予感がしますが。

DirectX、Win32API、C++など基盤部分の理解

ツール作成

システム作成 ←今ここ

アルゴリズム作成

バグフィックス

完成

スポンサーサイト

Comment

コメントの投稿

Comment
管理者にだけ表示を許可する
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。