LoadGraphについて

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

LoadGraphについて

#1

投稿記事 by ABC » 10年前

掲示板始めて使用させていただきます。プログラムも初心者程度です。
簡単なキャラ選択画面を作りたいのですが,

CharaGraph[].GHandle はキャラのグラフィックハンドル

CharaMaster.GetImage() はCharaMaster.cppにある キャラ画像名を取得する関数

//キャラクタステータス構造体
typedef struct {
char Name[256]; //名前
char Image[256]; //画像名
}status;
status HM[MAX];

char CCharaMaster::GetImage( int Num ){
return HM[Num].Image[256];

コード:


CharaGraph[i].GHandle = LoadGraph(  CharaMaster.GetImage( i ) );

↑のコードで実行すると
「 1 番目の引数を 'char' から 'const TCHAR *' に変換できません。」というようなエラーが出てしまいます。
どうにかできないでしょうか。お願いします。

FUNK
記事: 25
登録日時: 11年前

Re: LoadGraphについて

#2

投稿記事 by FUNK » 10年前

LoadGraphの引数には文字列を渡さないといけませんが、
CCharaMaster::GetImageの戻り値はcharになっています。
Boogaloo is funk feelin'.

ABC

Re: LoadGraphについて

#3

投稿記事 by ABC » 10年前

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

char[]型からstring型に変換したうえで渡せば画像名として読み込んでくれるのでしょうか。

N.R

Re: LoadGraphについて

#4

投稿記事 by N.R » 10年前

char *CCharaMaster::GetImage( int Num ){
return HM[Num].Image;

としてみてください

ABC

Re: LoadGraphについて

#5

投稿記事 by ABC » 10年前

>char *CCharaMaster::GetImage( int Num ){
return HM[Num].Image;

で実行させていただいたのですが、

CharaGraph.GHandle = LoadGraph( CharaMaster.GetImage( i ) );
'char' から 'const TCHAR *' に変換できません。


char *CCharaMaster::GetImage( int Num ){

return HM[Num].Image;
}
オーバーロード関数は、'char CCharaMaster::GetImage(int)' と戻り値の型のみが異なります。
'char *(int)' は 'char (int)' と間接操作のレベルが異なります。
といったエラーが出てしまいす。

N.R

Re: LoadGraphについて

#6

投稿記事 by N.R » 10年前

宣言の方も変えましたか?
全ソース中の GetImage は一か所だけではないと思います

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

Re: LoadGraphについて

#7

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

DXライブライの設定でマルチバイト文字を使うように設定するのが指示されているはずですが対応されていますでしょうか?
「DXライブラリ置き場 使い方説明」
http://homepage2.nifty.com/natupaji/DxLib/dxuse.html
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

ABC

Re: LoadGraphについて

#8

投稿記事 by ABC » 10年前

>宣言の方も変えましたか?
全ソース中の GetImage は一か所だけではないと思います

宣言にも変更は加えましたがさきの通りです。


>DXライブライの設定でマルチバイト文字を使うように設定するのが指示されているはずですが対応されていますでしょうか?

マルチバイト文字セットを使用するようにはなっていたようです。

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

Re: LoadGraphについて

#9

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

> 'char' から 'const TCHAR *' に変換できません。
失礼しました。
char型からchar*型に変換できなというエラーですので
CharaMaster.GetImage( i )
でchar型で戻り値が設定されているんだと思います。

なので
>char *CCharaMaster::GetImage
に成っていない所があると思われます。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

閉鎖

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