最近、pugiXml (cocos2d-x エンジン内で使用) で大きな問題に遭遇しました。
まもなく、クイズ ゲームを作成しました (前述の Cocos2d-x で)。質問 (およびその他のデータ) を Xml ファイルに保存します。新しいゲームでは、それらは解析されて辞書に挿入されます。質問に回答すると、回答を示す短い文字列 (良かったかどうか - Y/N) がその Xml ファイル (その特定の質問の下) に挿入されます。後で、このデータを使用して統計を表示します (私は、Y の数を質問の数で割って 100 を掛けたものを数えて、良い答えのある質問の割合を数えます)。
私が使う:
CCFileUtils::sharedFileUtils()->fullPathForFilename(o_QA);
ファイルを取得して後で
pBuffer = CCFileUtils::sharedFileUtils()->getFileData(fullPath.c_str(), "rb", &bufferSize);
ファイルをバッファに入れ、
pugi::xml_parse_result result = doc.load_buffer(pBuffer,bufferSize);
データを解析して作業を開始します。
最後に、ファイルを次のように保存します。
doc.save_file(fullPath.c_str());
アンドロイド:
- 質問のあるファイルを /data/data/app/Files/ にコピーする必要がありましたが、非常にうまく機能しています。それでも、多くのデバイスで変更を保持しています。
iOS:
- 残念ながら、iOS では機能しません。データは読み込まれて解析されますが (つまり、実際にゲームをプレイできます)、保存されません。ファイルを他のフォルダーに移動しようとしました (Resources/Documents から開始し、メインの Resources フォルダー、Resources/Library/Application Support)。まだデータが保存されておらず、どうすればよいかわかりません。その結果、統計がうまくカウントされません (質問にどのように答えても問題ありません。Xml ファイルが更新されていないため、質問はすべて誤りです)。
誰かが同様の問題に遭遇しましたか?手伝ってくれませんか?