初書き込みします。sumです。
現在僕はキューさん(管理人様)の作ったプログラムをオブジェクト指向を取り入れて作ろうとしています。
今作ったのは入力に対応してキャラクターをプレイ画面内を動かすところまでなのですが、問題が2つ出てしまいました。
1、上下左右の移動は問題ないが、右斜め下(この方向だけたぶん大丈夫)以外の斜め移動のスピードが速い(x成分、y成分の移動距離が√2分の1倍されてない?)
2、スコアボードなどは龍神録様のものをお借りしていますが、一瞬白い画面が移ることがある。(フレーム落ちという言葉で表現すればいいのか?)
ライブラリもDXライブラリ使用と、どの情報を出せばいいかわかりませんが、プログラムの形などもほとんど龍神録のものを引用させてもらっています。
この2つが解決したいのですが、どのあたりを疑ったらいいか教えてください。
処理の順番?
Re:処理の順番?
>プログラムの形などもほとんど龍神録のものを引用
オブジェクト指向に変えたということなので、それはオリジナルのソースとは遠く違うものだと考えます。
>1、上下左右の移動は問題ないが、右斜め下(この方向だけたぶん大丈夫)以外の斜め移動のスピードが速い(x成分、y成分の移動距離が√2分の1倍されてない?)
あなたのコードがそのようになるようになっているからでしょう。
だったら、√2分の1倍すればいいのでは?
それを意図してソースを書いたのにそのような不具合が出るならば、その部分をかきこむといいですよ。
>2、スコアボードなどは龍神録様のものをお借りしていますが、一瞬白い画面が移ることがある。
どのようなソースか分からないのに、白い画面になるといわれただけで原因特定は難しいと思います。
「私のシューティングゲームのどこかで、画面が白くなるんですが、原因が分かりますか?」
と、私があなたに聞いたようなものです。
具体的な症状、ソースコード、あるいはどこで起きるか などなどの情報がほしいです。
オブジェクト指向に変えたということなので、それはオリジナルのソースとは遠く違うものだと考えます。
>1、上下左右の移動は問題ないが、右斜め下(この方向だけたぶん大丈夫)以外の斜め移動のスピードが速い(x成分、y成分の移動距離が√2分の1倍されてない?)
あなたのコードがそのようになるようになっているからでしょう。
だったら、√2分の1倍すればいいのでは?
それを意図してソースを書いたのにそのような不具合が出るならば、その部分をかきこむといいですよ。
>2、スコアボードなどは龍神録様のものをお借りしていますが、一瞬白い画面が移ることがある。
どのようなソースか分からないのに、白い画面になるといわれただけで原因特定は難しいと思います。
「私のシューティングゲームのどこかで、画面が白くなるんですが、原因が分かりますか?」
と、私があなたに聞いたようなものです。
具体的な症状、ソースコード、あるいはどこで起きるか などなどの情報がほしいです。
Re:処理の順番?
softoyaさんもC#XNAへの移植をされていますね。
http://softyasu.net/index.html(win&x360ゲームズ)
XNAはフレームワークがきっちりしているので参考になるのではないでしょうか。
ソースを流用ってことはたぶんC++でしょうか。
オブジェクト指向を取り入れてということは完全なオブジェクト指向のプログラムにする気ではないということですか?
オブジェクト指向に書き直すなら設計からしたほうがいいと思いますけど。
龍陣録のソースは見たことないので具体的なことはアドバイスできません。
http://softyasu.net/index.html(win&x360ゲームズ)
XNAはフレームワークがきっちりしているので参考になるのではないでしょうか。
ソースを流用ってことはたぶんC++でしょうか。
オブジェクト指向を取り入れてということは完全なオブジェクト指向のプログラムにする気ではないということですか?
オブジェクト指向に書き直すなら設計からしたほうがいいと思いますけど。
龍陣録のソースは見たことないので具体的なことはアドバイスできません。
Re:処理の順番?
はい、softyaです。
私のXNA版は、参考になるように龍神録をわざと意識して残してある部分があります。
http://softyasu.net/game/gametop.html
完全にオブジェクト指向で作るなら、タスクシステム等の採用などZEROから作り直しをお勧めしたいですね。
とりあえず問題点は、ソースコードを見せてもらえないとなんともいえないです。
私のXNA版は、参考になるように龍神録をわざと意識して残してある部分があります。
http://softyasu.net/game/gametop.html
完全にオブジェクト指向で作るなら、タスクシステム等の採用などZEROから作り直しをお勧めしたいですね。
とりあえず問題点は、ソースコードを見せてもらえないとなんともいえないです。
Re:処理の順番?
キャラクターの移動処理では
http://dixq.net/rp/9.html
の calc_ch, ch_move関数をそのまま使っています。
描画処理の中に白い画面が映る(この表現は正しくないと思いますが)問題の原因究明はどのあたりを調べたらいいのかわからなかったのでできていません。
softyaさん
>>完全にオブジェクト指向で作るなら、タスクシステム等の採用などZEROから作り直しをお勧めしたいですね。
タスクシステムはまだどう実装していいものか分からなかったので使わない方向にしています。
添付したプログラムはすべてオブジェクト指向を使わなくてもいいと思ったので自機、弾、敵の管理の辺りにしか使っていません。
今回作るプログラムの目的はC言語プログラミング(主にファイル分割関連といろいろなアルゴリズム)とオブジェクト指向に触れてみるというものですが、まずはシューティングゲームを作るのが第一の目的です。
プロジェクトを添付するので、問題についてのことやプログラムの設計からのことについて何かあれば教えてほしい、または話をしてほしいです。
http://dixq.net/rp/9.html
の calc_ch, ch_move関数をそのまま使っています。
描画処理の中に白い画面が映る(この表現は正しくないと思いますが)問題の原因究明はどのあたりを調べたらいいのかわからなかったのでできていません。
softyaさん
>>完全にオブジェクト指向で作るなら、タスクシステム等の採用などZEROから作り直しをお勧めしたいですね。
タスクシステムはまだどう実装していいものか分からなかったので使わない方向にしています。
添付したプログラムはすべてオブジェクト指向を使わなくてもいいと思ったので自機、弾、敵の管理の辺りにしか使っていません。
今回作るプログラムの目的はC言語プログラミング(主にファイル分割関連といろいろなアルゴリズム)とオブジェクト指向に触れてみるというものですが、まずはシューティングゲームを作るのが第一の目的です。
プロジェクトを添付するので、問題についてのことやプログラムの設計からのことについて何かあれば教えてほしい、または話をしてほしいです。
Re:処理の順番?
ごめんなさい。
今、マシンを新しくてWindows7を本格的に導入中なので実行環境が動きません。
ぱっと見た感じは斜め移動の問題も白い画面も出なさそうな感じですね。
斜め移動に関しては、printfDxでx2,y2,naname,mx,myなどを出力して思ってもいない動きをしていないか確認してみてください。白い画面は裏画面をちゃんと使っていれば出ないはずですが、今のところはわかりません。
※ オブジェクト指向としては、単にクラスを使って書いているだけに過ぎない(C言語で書いても変わらない)のでだいぶ問題ありですが今回は追求しません。直った後で考えましょう。
今、マシンを新しくてWindows7を本格的に導入中なので実行環境が動きません。
ぱっと見た感じは斜め移動の問題も白い画面も出なさそうな感じですね。
斜め移動に関しては、printfDxでx2,y2,naname,mx,myなどを出力して思ってもいない動きをしていないか確認してみてください。白い画面は裏画面をちゃんと使っていれば出ないはずですが、今のところはわかりません。
※ オブジェクト指向としては、単にクラスを使って書いているだけに過ぎない(C言語で書いても変わらない)のでだいぶ問題ありですが今回は追求しません。直った後で考えましょう。