ページ 11

シーン管理するような書き方しかできない

Posted: 2010年11月29日(月) 22:13
by もみじ
DXライブラリ VisualStadio2005 C++ XP

今までいくつかのゲームを作ってきたのですがシーン管理するような書き方しかできないです。
あくまで趣味でプログラムをしているのでこれが正しいのかがわかりません。
タスクシステム?というのでしょうか?名称が違ったり他の名前がある場合教えて頂けますと助かります

各シーンごとにInit、Loop、(Draw)、Finishごとの関数を用意して
シーンごとに差し替えている感じです。

添付したゲームは以前作っていたものであくまでサンプルです。
音楽の読み込みに時間がかかったりシーンの切り替えがLoopで
行われるのでシーンチェンジの際に1フレームFinishがずれてたりします。

この他にソースの書き方の手法はあるのでしょうか?
お詳しい方、アドバイスを頂けますとたすかります。

またこのゲームをiPhoneで作ろうと思っております。
拾ってきた画像を使っていてデザインが全然できません。
詳しい方がおりましたらアドバイスを頂けますと嬉しいです。

【ゲームルール】
キャラクターが自動で動くので安全にゴールまで連れて行って下さい。
マウスを使って点線のパネルをクリックすると道を作ることができます。

URL:http://www1.axfc.net/uploader/Al/so/51102
Pass:Init

Re: シーン管理するような書き方しかできない

Posted: 2010年11月30日(火) 09:53
by ookami
ookamiです。

> 今までいくつかのゲームを作ってきたのですがシーン管理するような書き方しかできないです。
> あくまで趣味でプログラムをしているのでこれが正しいのかがわかりません。

> 各シーンごとにInit、Loop、(Draw)、Finishごとの関数を用意して
> シーンごとに差し替えている感じです。

ソースコードが全体で10~100kb程度なら、ある意味、
「どんな書き方をしても、期待したとおりの動きさえすればよい」という部分はあります。
バグっても力技で何とでもなる範囲だと思います。

というか、「シーン管理するような書き方」は、わりとスタイリッシュな部類だと思います。
私の友人はプロのゲームプログラマですが、「そんなカンジ」だそうです。

もっとやるなら、
シーンだけではなく、リソース(画像やサウンドファイル)を
管理するクラスを考えてみる、とかでしょうか。


> 音楽の読み込みに時間がかかる

これは、シーン管理の問題というよりは、
音楽ファイルの扱い方の問題だと思います。
DXライブラリとのことなので、
SetCreateSoundDataType(DX_SOUNDDATATYPE_FILE) などはどうでしょうか。
http://homepage2.nifty.com/natupaji/DxL ... tml#R15N25

Re: シーン管理するような書き方しかできない

Posted: 2010年11月30日(火) 11:09
by へろりくしょん
>各シーンごとにInit、Loop、(Draw)、Finishごとの関数を用意して
>シーンごとに差し替えている感じです。

ソースは見てないので何とも言えませんが。 差し替えているというのは関数ポインタとかでしょうか。
それとも、Init・Loop・Finish 関数をメンバに持つクラスのインスタンスを差し替えているのでしょうか。

いずれにせよ、これは普通にタスクシステムでは無いでしょうか。

結構スマートな書き方だと思いますよ。

Re: シーン管理するような書き方しかできない

Posted: 2010年11月30日(火) 11:13
by もみじ
お二方ともご回答ありがとう御座います。
独学なので書き方があっているのか不安でした。
マシなほうなのですねw良かったです。
この書き方で続けていこうと思います。

なるほど・・・色々とありがとうございます。
素材を管理するクラスですか・・・使ってみますね。
他にこのソースをみて詳しい方がおりましたら意見を頂けますと助かります。