ページ 11

自キャラが動かない

Posted: 2009年7月16日(木) 08:40
by s-rush
先日はお世話になりました。
無事にエラーが外れましたので、(この時点で動作確認していませんでした^^;)
マップ制作に取り掛かっていたのですが、
デバッグすると、今度は自キャラが動かなくなってしまいました。
自キャラの向きは変わるので、キー入力は認識しているようなのですが、
まるで四方に壁があるがごとく、前に進むことができません。

以前との変更点は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:自キャラが動かない

Posted: 2009年7月16日(木) 09:56
by ねこ
まず問題点のフォーカスを絞った方が良いんじゃないかな?

1.CSVから読んだマップ情報は正常に配列に格納されているか
2.extern処理を追加した際、宣言時に初期化を行っていた処理を消したりしていないか、または異なる値を入れていないか
3.歩行可能かを判定している関数に問題は無いか

等、もう少しs-rushさんの方でどのエリアに問題があるのか絞ってもらわないと
ちょっと調べるにはプロジェクトの規模が大きい気がします。

Re:自キャラが動かない

Posted: 2009年7月16日(木) 11:13
by pooka
proceed_x,proceed_yという配列の値が0のままだからではないでしょうか?
それぞれの値を適当に決めてやってみたところ動きました。

Re:自キャラが動かない

Posted: 2009年7月16日(木) 14:53
by s-rush
>>ねこさん
>宣言時に初期化を行っていた処理を消したりしていないか
原因はこれでした^^;
初期化していた部分のプログラムががなぜか消えていたので動かないみたいでした。
というよりもファイルごと消えていたようです・・・

他にも初期化しなければいけない箇所も消えている状態でよく起動したなぁ・・・


>>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
というように書き換えたところ、正常に動作しました。


初歩的なミスでお騒がせして申し訳ありませんでした。

60章について

Posted: 2009年8月02日(日) 00:07
by
3Dの勉強してるのですが、
60章のプログラムで画像が移動する速度を制御してる部分の
プログラムはどこの部分なのでしょうか?
早くしたり遅くしたりしてみたいのですが
場所が分からないです。誰か教えてください><

Re:60章について

Posted: 2009年8月02日(日) 00:58
by Justy

>画像が移動する速度を制御してる部分

 何の画像ですか?
 プレイヤー? 弾? エネミー? エフェクト? ...etc

Re:60章について

Posted: 2009年8月02日(日) 02:01
by @
床と壁と桜の木の画像です。
奥から手前にフェードアウトしていくまでの速さのプログラムです

Re:60章について

Posted: 2009年8月02日(日) 02:23
by Justy

>床と壁と桜の木の画像です

 把握しました。
 それは "3Dbackground.cpp"の 118行目、
[color=#d0d0ff" face="monospace]
Object[t].ObChild.z-=3;
[/color]

 の .zに対して減算している値 3がそうです。

 ちなみに加算すると、移動方向が反転して、床や壁が奥に向かう(プレイヤーが後退する)
ようになります。
 

Re:60章について

Posted: 2009年8月02日(日) 16:17
by
Justyさんのおかげで無事できました!
ありがとうございます!