cocos2d-x スコアなどを保存・抽出する方法
2017/10/25
保存方法
// 保存 // 下記は"tempScore"というキーでhogeScoreを保存しています。 // int型である場合はsetIntegerForKeyであることに注意。 CCUserDefault::sharedUserDefault() ->setIntegerForKey("tempScore", hogeScore); // 最後にflush()をして反映させます。 // DBでいうcommitみたいなもとでしょう。 CCUserDefault::sharedUserDefault()->flush();
抽出方法
// 抽出 // int型で保存したので、抽出する時の変数をint型にしておく。 // 第二引数は保存値がない場合のdefault値 int tempScore = CCUserDefault::sharedUserDefault() ->getIntegerForKey("tempScore", 0);
int型の他には下記もあります。メモメモ。
CCUserDefault::sharedUserDefault()->setBoolForKey() CCUserDefault::sharedUserDefault()->setDoubleForKey() CCUserDefault::sharedUserDefault()->setFloatForKey() CCUserDefault::sharedUserDefault()->setStringForKey() CCUserDefault::sharedUserDefault()->getBoolForKey() CCUserDefault::sharedUserDefault()->getDoubleForKey() CCUserDefault::sharedUserDefault()->getFloatForKey() CCUserDefault::sharedUserDefault()->getStringForKey()
自分の場合は、ゲームシーンでゲームオーバーになるときに保存して、ゲームオーバーシーンで抽出してスコアを表示したり、ゲームオーバーシーンで以前のスコアを抽出してスコアを比べて、今回ハイスコアなのかを判断したりしています。