レーザーの表示について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
atrix
記事: 14
登録日時: 11年前

レーザーの表示について

#1

投稿記事 by atrix » 11年前

ダウンロードしたものは正常に表示されるのですが、自分で作ったほうだと、龍神録プログラミングの館の34章、35章のレーザーがどうやっても表示されません。おかしいなと思い、ページ内のコードをコピーしたにも関わらず表示されませんでした。
さらに、WinMergeで相違点を確認し、キャラとキャラのエフェクト関連以外はすべて同じはずなのに、表示されませんでした。
これ以上どうしたらよいのかわかりません。どうか改善策をご教示願います・・・・。

アバター
へにっくす
記事: 634
登録日時: 13年前
住所: 東京都

Re: レーザーの表示について

#2

投稿記事 by へにっくす » 11年前

その表示されない状態のプロジェクトを、どうして添付しないのかな?
たとえるなら壊れたパソコンを持ってこずに、パソコン直してと言ってるのと同じですよ。
written by へにっくす

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: レーザーの表示について

#3

投稿記事 by softya(ソフト屋) » 11年前

考え方を変えれば、バグを取る訓練と龍神録の仕組みを理解するチャンスでもあるわけですね。
と言うことで、これを楽しんでデバッグしてみませんか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

atrix
記事: 14
登録日時: 11年前

Re: レーザーの表示について

#4

投稿記事 by atrix » 11年前

プロジェクトを添付しようとしたのですが、どうしてか送信できないのです。
zip圧縮しているのに、送信できませんでした。
なので、スクリーンショットで商況を説明しようと思います。

画像のように、レーザーの本体ではなく、発射元のあたりしか表示されず、しかも時間が経っても消えないのです。
コピーしたものなのに・・・・。
添付ファイル
無題.png

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: レーザーの表示について

#5

投稿記事 by softya(ソフト屋) » 11年前

さて、私の発案はどうなったのでしょうか?
その気が有るならデバッグ方法を伝授しますが。
※ 楽な方法じゃないですが、龍神録の理解が進むことだけは保証できます。

【補足】
ソースコード以外を添付しようとするとサイズ限界を超えている可能性があるのでzip添付できないんじゃないかと。
ソースコードだけをzip添付してください。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
Dixq (管理人)
管理人
記事: 1662
登録日時: 15年前
住所: 北海道札幌市
連絡を取る:

Re: レーザーの表示について

#6

投稿記事 by Dixq (管理人) » 11年前

MinMergeでキャラ以外全てソースが同じなのに表示されないとはおかしいですね。
レーザーの画像はちゃんとありますか?
softyaさんが仰るように今後のためにデバッグ手法を学ぶことがバグ取りの近道だと思います。
怪しい所にブレイクポイントを張りながら、少しずつ解決していく必要がありそうです。

>softyaさん
一応70MBまで添付できるようにしてあるので、ギリプロジェクトごと添付できるかもしれません。

atrix
記事: 14
登録日時: 11年前

Re: レーザーの表示について

#7

投稿記事 by atrix » 11年前

みなさんが仰られているように、デバッグに挑戦してみようかと思います。
とりあえず色々試してみましたところ、レーザーはしっかりとロードされていて、メインループで描画してみると表示されます。
また、レーザー描画関数において、発射元は表示できるのに、レーザー本体は表示されませんでした。
また、フラグはしっかり立っているようで、レーザーの色、種類も登録できています。
どうやらレーザーが表示されないのは、それ以外の要因だと思われます。

自分なりに見てみたのですが、どうでしょうか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: レーザーの表示について

#8

投稿記事 by softya(ソフト屋) » 11年前

atrix さんが書きました:みなさんが仰られているように、デバッグに挑戦してみようかと思います。
とりあえず色々試してみましたところ、レーザーはしっかりとロードされていて、メインループで描画してみると表示されます。
また、レーザー描画関数において、発射元は表示できるのに、レーザー本体は表示されませんでした。
また、フラグはしっかり立っているようで、レーザーの色、種類も登録できています。
どうやらレーザーが表示されないのは、それ以外の要因だと思われます。

自分なりに見てみたのですが、どうでしょうか?
良いですね。基本的な所は確認できていると思います。
その先を考えてみましょう。
レーザーは発射光から先に進まないとしたらレーザーの変化の状態を何処で管理しているか調べてみてください。【追記】 何が変わるとレーザー変化していくでしょう。
そして、デバッガで関連する変数の値の変化を調べましょう。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
Dixq (管理人)
管理人
記事: 1662
登録日時: 15年前
住所: 北海道札幌市
連絡を取る:

Re: レーザーの表示について

#9

投稿記事 by Dixq (管理人) » 11年前

以下の画像の通り
画像
解説ではレーザーのあたり判定を赤い四角(三角形2つ)で表示しています。

http://homepage2.nifty.com/natupaji/DxL ... .html#R2N7

まずはレーザーの場所がきちんとあっているか、四角形を表示して確かめてみてはいかがでしょうか。

atrix
記事: 14
登録日時: 11年前

Re: レーザーの表示について

#10

投稿記事 by atrix » 11年前

皆様、どうもありがとうございました。無事に表示されるようになりました。

原因はshot.cppのレーザー計算にありました。

全てコピーしたから大丈夫という勝手な安心感が、見落としを招いたものと思われます。

相違点確認の時に、空白などの違いでも引っかかってしまうため、shot.cppの確認を軽く流してしまったからです。

この度は、本当にありがとうございました。

皆様、また行き詰まることがきっとあるとおもいますので、その時もどうかよろしくお願い致します。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: レーザーの表示について

#11

投稿記事 by softya(ソフト屋) » 11年前

どうやって原因を突き止めたか書き残してくださいね。
【追記】そして違って居た場所もお願いします。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

atrix
記事: 14
登録日時: 11年前

Re: レーザーの表示について

#12

投稿記事 by atrix » 11年前

違っていた場所はレーザー計算関数の有無です。

発見の過程

画像はロードされている→レーザーは登録できている→発射元のみ描画される→レーザー描画関数がおかしい?→いや、しっかり機能する→レーザー描画関数の引数誤り?→計算元の確認→発見

このような感じです。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: レーザーの表示について

#13

投稿記事 by softya(ソフト屋) » 11年前

> 計算元の確認

これはソースの見比べでしょうか? それともロジックから判断して怪しい部分の修正を独自に思いついたんでしょうか?
何故聞いているかというと、他の人の参考になる情報を掲示板に残すためです。
あと、独自で思いつくほど理解度がアップしたか知りたいってと事もあります。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

atrix
記事: 14
登録日時: 11年前

Re: レーザーの表示について

#14

投稿記事 by atrix » 11年前

返信ありがとうございます。

計算元の確認については、普通起こり得ないことが起きているかのような状態になっているのですから、自分で怪しいと感じたところを確認し、関数などは使ってみたりしました。すると、レーザー以外のものでは機能した関数が、レーザーでは機能しないことが分かり、あきらかにレーザーの数値に問題があるはずだということに気付き、数値を計算するのはどこだ?といった感じで、レーザーの数値が変更されるはずの場所を、ダウンロードしてある龍神録のプロジェクトで確認したところ、自分のものにはない計算があり、自分のものを確認すると、やはりそこが抜けていました。
見つけた場所は、しっかりと同じ計算を入れた感じなので、修正は独自ではありませんが、良い経験にはなりました。
理解度につきましては、元の計算を見なくても、その修正箇所にはこの計算式がないとおかしいということは分かっていましたので、その点においては向上したのではないかと思われます。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: レーザーの表示について

#15

投稿記事 by softya(ソフト屋) » 11年前

atrix さんが書きました:返信ありがとうございます。

計算元の確認については、普通起こり得ないことが起きているかのような状態になっているのですから、自分で怪しいと感じたところを確認し、関数などは使ってみたりしました。すると、レーザー以外のものでは機能した関数が、レーザーでは機能しないことが分かり、あきらかにレーザーの数値に問題があるはずだということに気付き、数値を計算するのはどこだ?といった感じで、レーザーの数値が変更されるはずの場所を、ダウンロードしてある龍神録のプロジェクトで確認したところ、自分のものにはない計算があり、自分のものを確認すると、やはりそこが抜けていました。
見つけた場所は、しっかりと同じ計算を入れた感じなので、修正は独自ではありませんが、良い経験にはなりました。
理解度につきましては、元の計算を見なくても、その修正箇所にはこの計算式がないとおかしいということは分かっていましたので、その点においては向上したのではないかと思われます。
有難うございます。
引き続き龍神録の講座を楽しんでください。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

閉鎖

“C言語何でも質問掲示板” へ戻る