bool HogeScene::init() { if (!CCLayer::init()) { return false; } // 前回の時間をとる time_t previousTime = (time_t)CCUserDefault::sharedUserDefault()->getIntegerForKey("previousTime", 0); if (isOneDayCourse(previousTime)) { // 一日経過してたなら現在時刻をセット(初回時も) CCUserDefault::sharedUserDefault()->setIntegerForKey("previousTime", (int)time(NULL)); } return true; } bool HogeScene::isOneDayCourse(time_t time) { // 現在の日付 struct tm *nowDate; time_t now; time(&now); nowDate = localtime(&now); int nowDay = nowDate->tm_mday; int nowMon = nowDate->tm_mon; int nowYear = nowDate->tm_year; // 前回の日付 struct tm *previousDate; time_t previousTime = time; previousDate = localtime(&previousTime); int previousDay = previousDate->tm_mday; int previousMon = previousDate->tm_mon; int previousYear = previousDate->tm_year; // 差分 int diffDay = nowDay - previousDay; int diffMon = nowMon - previousMon; int diffYear = nowYear - previousYear; // 日付上一日以上経過でtrue if (diffDay || diffMon || diffYear) { return true; } return false; }
2013年6月5日水曜日
【cocos2d-x】前回の時間から"日付上"1日以上経過してるかチェックする。
0時更新のログインボーナスなどで使う感じ。
なんか便利な関数とかあるかも。
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿