ヘッダとどれ位キーが押されているかについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
やす

ヘッダとどれ位キーが押されているかについて

#1

投稿記事 by やす » 10年前

この間状態遷移について質問させていただいたやすです。


ヘッダでの状態遷移のやり方は分かったのですが、それに新・ゲームプログラミングの館2.9章のようなプログラムをどうやって追加すればいいかが分かりません。状態遷移についてのソースコードは新・ゲームプログラミングの館のsp6とほとんど同じです。

よろしくお願いします

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

Re: ヘッダとどれ位キーが押されているかについて

#2

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

それは、たぶん分かっていないと思います。
あとヘッダがある=ファイル分割である事と状態遷移は何ら関わりがありませんので、「ヘッダでの状態遷移のやり方」という説明は変です。
答えを言うのは簡単なのですが、それでは理解されないと思うのでsp6と2.9を混ぜる上で何処が分からないか説明してみてください。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

やす

Re: ヘッダとどれ位キーが押されているかについて

#3

投稿記事 by やす » 10年前

副管理人さんへ
int gpUpdateKey()の呼び出しをSceneMgr.javaに、int gpUpdateKey()の関数をSceneMgr.cppファイルに書いたのですが、WinMain関数のWhileの条件のところにgpUpdateKey()を書くと定義されていないと言われ、なぜそうなるのかが分かりません

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

Re: ヘッダとどれ位キーが押されているかについて

#4

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

SceneMgr.javaは間違いとして、もう一度整理してもらえませんか?
int gpUpdateKey()の呼び出しをSceneMgr.javaとあるのに、WinMain関数のWhileの条件のところにgpUpdateKey()を書くととありますが本当に呼び出しているのはどちらでしょうか?
やす さんの「呼び出し」と「書く」という言葉の意味と言うか違いがわかりません。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

やす

Re: ヘッダとどれ位キーが押されているかについて

#5

投稿記事 by やす » 10年前

副管理人さんへ
すいません、SceneMgr.hでした

WinMain関数のWhileの条件でSceneMgr.hにある、関数gpUpdateKey()の呼び出しを呼び出すものだと思っていますが、違うのでしょうか?

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

Re: ヘッダとどれ位キーが押されているかについて

#6

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

ヘッダに書く関数のプロトタイプ宣言は、こういう引数と戻り値のこんな名前の関数があるので呼び出しできますよ。と言う連絡事項に過ぎません。
実際に呼び出される関数はcppに実体の定義があり、引数の型や名前などヘッダと違わない定義になっている必要があります
こういうお約束を使いこなして初めてヘッダの使い方を理解したといえると思います。
大抵コピペでなんとなく出来たってのは分かっていないです。

で、根本的な問題としてgpUpdateKey()の実体定義はどこにあるのでしょうか?
あと、SceneMgrにgpUpdateKey()があるのは、オブジェクト指向設計や構造化設計的には変ですよ。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

やす

Re: ヘッダとどれ位キーが押されているかについて

#7

投稿記事 by やす » 10年前

副管理人さんへ

WinMain関数のWhileの条件内で呼び出すgpUpdateKey()は、実体定義に則ったものだと思っていたのですが、違っていたのでしょうか?

gpUpdateKey()の実体定義はSceneMgr.cppにあります。
すいません、まだ全然分かってなくて……おこがましいのですが、出来れば、どこがどう変なのかご教授していただきたいです……

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

Re: ヘッダとどれ位キーが押されているかについて

#8

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

main.cppでSceneMgr.hがインクルードされていないとエラーが出ますね。main.cpp=WinMainではgpUpdateKey()の事など知らないわけですから。
あとは大文字小文字、綴り間違いがある場合でしょう。

【補足】
> すいません、まだ全然分かってなくて……おこがましいのですが、出来れば、どこがどう変なのかご教授していただきたいです……

設計の問題については、関数名とファイル名の意味に関連性が全くない事です。
とりあえず手近なところへ組み込んだと言う悪い設計の典型ですね。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

閉鎖

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