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 件のコメント:
コメントを投稿