DXライブラリPortableで公式セーブ機能を使う方法についてですが、
http://oisu.blog85.fc2.com/blog-entry-1061.html
これを使おうと思ってますが、関数の引数の説明がいまいち分かりません。
セーブするデータ(intなど)はどのように指定してセーブするのですか?
ご回答お待ちしております。
dxlib psp 公式セーブのやり方がわかりません
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
- 住所: 東海地方
- 連絡を取る:
Re: dxlib psp 公式セーブのやり方がわかりません
DXライブラリPortableを使える環境を持っていませんが、
char *SaveData:セーブデータへのポインタ
だと文字列じゃなくても良いと書かれているのでセーブする情報を集めた構造体のポインタをchar*にキャストして渡せば良いと思います。
char *SaveData:セーブデータへのポインタ
だと文字列じゃなくても良いと書かれているのでセーブする情報を集めた構造体のポインタをchar*にキャストして渡せば良いと思います。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: dxlib psp 公式セーブのやり方がわかりません
そこに渡せばいいんですね、ご回答感謝です。
int a,int i[5],char data,char name[10];
char*savedataにこのデータの情報を書く一例を教えて頂ければ有難いです。
int a,int i[5],char data,char name[10];
char*savedataにこのデータの情報を書く一例を教えて頂ければ有難いです。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
- 住所: 東海地方
- 連絡を取る:
Re: dxlib psp 公式セーブのやり方がわかりません
サンプルコード以前に構造体は分かりますか?メカ さんが書きました:そこに渡せばいいんですね、ご回答感謝です。
int a,int i[5],char data,char name[10];
char*savedataにこのデータの情報を書く一例を教えて頂ければ有難いです。
int a,int i[5],char data,char name[10];
これらを構造体にするには、色々とプログラムコードに変更が必要です。
あとバイナリデータのファイル書き出し読み出しとか理解されている必要があります。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: dxlib psp 公式セーブのやり方がわかりません
struct Save{
int a;
int i[5];
char data;
char name[10];
}
int main(){
struct Save dat;
char *p = (char *)&dat;
}
これでpを渡したら出来ますか?
ファイルの読み書きの処理は少しなら分かります。
int a;
int i[5];
char data;
char name[10];
}
int main(){
struct Save dat;
char *p = (char *)&dat;
}
これでpを渡したら出来ますか?
ファイルの読み書きの処理は少しなら分かります。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
- 住所: 東海地方
- 連絡を取る:
Re: dxlib psp 公式セーブのやり方がわかりません
pを渡せば出来ます。
サイズはsizeof(struct Save)ですので間違えてsizeof(p)としないように注意して下さい。
構造体にはポインタを含んでは行けませんので、セーブデータを拡張していく過程で含まないように注意しましょう。
char data;ってのがポインタの間違いじゃないのか気になりますが。
出来ればセーブデータのバージョン番号などを持って将来セーブ項目が増えた時に備えておくのも賢い方法です。
それと構造体に書き換えた場合の全体の書き換えは大丈夫ですか?
セーブ時にセーブデータ構造体に要素を1つづつコピーしても良いですが拡張していく過程で忘れが出る可能性があります。
どちらを選んでも良いですが、一長一短です。
サイズはsizeof(struct Save)ですので間違えてsizeof(p)としないように注意して下さい。
構造体にはポインタを含んでは行けませんので、セーブデータを拡張していく過程で含まないように注意しましょう。
char data;ってのがポインタの間違いじゃないのか気になりますが。
出来ればセーブデータのバージョン番号などを持って将来セーブ項目が増えた時に備えておくのも賢い方法です。
それと構造体に書き換えた場合の全体の書き換えは大丈夫ですか?
セーブ時にセーブデータ構造体に要素を1つづつコピーしても良いですが拡張していく過程で忘れが出る可能性があります。
どちらを選んでも良いですが、一長一短です。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。