ヘッダファイルに書かれた構造体の中にこんな配列のメンバがあります。
これをこんな形で別のファイルで使うと
画像が読み込めません
構造体内に配列のメンバを入れるのは初めてなのでなぜなのかわかりません。
なにか使用するための決まりとかあるんでしょうか?
構造体内で宣言した配列メンバの扱い方
Re: 構造体内で宣言した配列メンバの扱い方
インデントくらい、ちゃんと付けていただきたいところであります。
さて、
何かエラーメッセージが出ているのであれば、
「何をしたときに」「どんな」エラーメッセージが出ているかを「具体的に」書いていただけると
大いに助かります。なにせ、質問者さんのパソコンの状態はご本人にしかわからないものでして。
その別名が付いた変数playをどこかで定義されていますか?
両者がゴッチャになっていないでしょうか。
play.imgというのは、メンバーimgの先頭アドレスを指しています。実体をロードしなくて大丈夫ですか?
また、img[12]というのは配列の定義範囲外になっています。大丈夫ですか?
さて、
どういう状況をもってして、「画像が読み込めない」と判断されているのでしょうか。イマダニ さんが書きました: 画像が読み込めません
何かエラーメッセージが出ているのであれば、
「何をしたときに」「どんな」エラーメッセージが出ているかを「具体的に」書いていただけると
大いに助かります。なにせ、質問者さんのパソコンの状態はご本人にしかわからないものでして。
これは、play型のメンバーimg[10]を持つ構造体にplayという別名を付けた状態です。
その別名が付いた変数playをどこかで定義されていますか?
変数playは、構造体の実体ですか?それとも構造体を指すポインターですか?
両者がゴッチャになっていないでしょうか。
play.imgというのは、メンバーimgの先頭アドレスを指しています。実体をロードしなくて大丈夫ですか?
また、img[12]というのは配列の定義範囲外になっています。大丈夫ですか?
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。
プログラムは思ったとおりには動かない。書いたとおりに動く。
Re: 構造体内で宣言した配列メンバの扱い方
すいません!あわてて質問して質問内容が適当になってしまいました。
今後気をつけます……
現在、ゲームをチーム制作しており、まだ初心者である友人がプレイヤーキャラを動かそうとしています。
その友人が初めて分割コンパイルを行っており
このような形でプレイヤー画像を描画させようとしています。
結果、エラーも無く動作はするのですが、画面にプレイヤー画像が映りません。
それで僕に質問してきたのですが、僕にもわかりません!
ご教授願います。
今後気をつけます……
現在、ゲームをチーム制作しており、まだ初心者である友人がプレイヤーキャラを動かそうとしています。
その友人が初めて分割コンパイルを行っており
player.cpp
void player_draw(PLAYER *play){
DrawRotaGraph( play->Px, play->Py, 2.0, 0.0, play->PCG[12], TRUE );
}
結果、エラーも無く動作はするのですが、画面にプレイヤー画像が映りません。
それで僕に質問してきたのですが、僕にもわかりません!
ご教授願います。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
- 住所: 東海地方
- 連絡を取る:
Re: 構造体内で宣言した配列メンバの扱い方
見せられた部分でだけ言えば動くのでは?としか言えません。
まず、PCG[12]にちゃんと画像ハンドルが入っていることをデバッガで確認してください。
それとplayのポインタ値が正しいこともデバッガで確認してください。
それと、play->PCG[12]が正しいハンドル値あることも確認する必要があります。
【追記】
play->Px, play->Py
が正しい座標を指していることも確認が必要です。
全部デバッガで確認してくださいね。
まず、PCG[12]にちゃんと画像ハンドルが入っていることをデバッガで確認してください。
それとplayのポインタ値が正しいこともデバッガで確認してください。
それと、play->PCG[12]が正しいハンドル値あることも確認する必要があります。
【追記】
play->Px, play->Py
が正しい座標を指していることも確認が必要です。
全部デバッガで確認してくださいね。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: 構造体内で宣言した配列メンバの扱い方
教授->教示の間違いでは?
DrawRotaGraphにブレークポイントを置き、F5でデバッグ実行ブレークポイントで止まった時にplay->PCG[12]の中身が-1なら画像は読み込めていません。
DrawRotaGraphにブレークポイントを置き、F5でデバッグ実行ブレークポイントで止まった時にplay->PCG[12]の中身が-1なら画像は読み込めていません。
Re: 構造体内で宣言した配列メンバの扱い方
デバッガして、いろいろ試行錯誤したところ全く別の場所でミスがありました。
いろいろお騒がせしてすみません……
でもデバッガやブレークポイントはあまり活用したことがなかったので
今回の皆さんのアドバイスで大変勉強になりました。
アドバイスありがとうございました!
いろいろお騒がせしてすみません……
でもデバッガやブレークポイントはあまり活用したことがなかったので
今回の皆さんのアドバイスで大変勉強になりました。
アドバイスありがとうございました!