先日はお世話になりました。
無事にエラーが外れましたので、(この時点で動作確認していませんでした^^;)
マップ制作に取り掛かっていたのですが、
デバッグすると、今度は自キャラが動かなくなってしまいました。
自キャラの向きは変わるので、キー入力は認識しているようなのですが、
まるで四方に壁があるがごとく、前に進むことができません。
以前との変更点はextern 関数名・変数名というところを
ifdefを使用してGLOBAL 関数名・変数名としただけです。
なので、このような不具合が生じた原因が正直わかりません。
単純に私の理解不足で書き方が間違っているだけかもしれませんが^^;
もしそうなら、原因はmain.cpp、GV.h、fanction.hのいずれかにありそうですが・・・
ソースをアップしておきますので、見てもらえないでしょうか?
アップロード様
http://u1.getuploader.com/s-rush/download/2/data.zip
pass:pokemon
ソースはsourceフォルダに入っています。
また、症状が分かりにくいと思いましたので実行ファイルも入れておきました。
Debugフォルダの中に入っています。
ただ、ロードに必要最低限のグラフィックしか入れていませんので、
途中真っ暗になる個所があります。
Zキーを連打しておいてください。
数秒後にマップ上にいる画面に移り変わります。
(まだマップが未完成なので、少々おかしいですがバグではないです)
開発環境 VC++ 2008 EE DXライブラリ使用
よろしくお願いします。
自キャラが動かない
Re:自キャラが動かない
まず問題点のフォーカスを絞った方が良いんじゃないかな?
1.CSVから読んだマップ情報は正常に配列に格納されているか
2.extern処理を追加した際、宣言時に初期化を行っていた処理を消したりしていないか、または異なる値を入れていないか
3.歩行可能かを判定している関数に問題は無いか
等、もう少しs-rushさんの方でどのエリアに問題があるのか絞ってもらわないと
ちょっと調べるにはプロジェクトの規模が大きい気がします。
1.CSVから読んだマップ情報は正常に配列に格納されているか
2.extern処理を追加した際、宣言時に初期化を行っていた処理を消したりしていないか、または異なる値を入れていないか
3.歩行可能かを判定している関数に問題は無いか
等、もう少しs-rushさんの方でどのエリアに問題があるのか絞ってもらわないと
ちょっと調べるにはプロジェクトの規模が大きい気がします。
Re:自キャラが動かない
>>ねこさん
>宣言時に初期化を行っていた処理を消したりしていないか
原因はこれでした^^;
初期化していた部分のプログラムががなぜか消えていたので動かないみたいでした。
というよりもファイルごと消えていたようです・・・
他にも初期化しなければいけない箇所も消えている状態でよく起動したなぁ・・・
>>pookaさん
>proceed_x,proceed_yという配列の値が0のままだからではないでしょうか?
おっしゃるとおりでした。
GV.hの箇所に
初歩的なミスでお騒がせして申し訳ありませんでした。
>宣言時に初期化を行っていた処理を消したりしていないか
原因はこれでした^^;
初期化していた部分のプログラムががなぜか消えていたので動かないみたいでした。
というよりもファイルごと消えていたようです・・・
他にも初期化しなければいけない箇所も消えている状態でよく起動したなぁ・・・
>>pookaさん
>proceed_x,proceed_yという配列の値が0のままだからではないでしょうか?
おっしゃるとおりでした。
GV.hの箇所に
#ifdef GLOBAL_INSTANCE int proceed_x[4]={0,-1,0,1}; //向きを表す配列 int proceed_y[4]={-1,0,1,0}; //向きを表す配列 ・ ・ ・ #else GLOBAL int proceed_x[4]; GLOBAL int proceed_y[4]; ・ ・ ・ #endifというように書き換えたところ、正常に動作しました。
初歩的なミスでお騒がせして申し訳ありませんでした。
Re:60章について
>床と壁と桜の木の画像です
把握しました。
それは "3Dbackground.cpp"の 118行目、
[color=#d0d0ff" face="monospace]
Object[t].ObChild.z-=3;
[/color]
の .zに対して減算している値 3がそうです。
ちなみに加算すると、移動方向が反転して、床や壁が奥に向かう(プレイヤーが後退する)
ようになります。