初回起動時のシーンきりかえ。
cocos2dの記事はたくさんあるのに、cocos2d-xを見つけられたなかったので
メモ書きだけ残しておきます。
やりたいこと
初回起動時に、名前などの入力画面を出力し、名前を入力してもらう。
初回に名前を入力してもらったら、次回以降は入力画面は表示しない。
cocos2dの時の様にuserdefultを使うんだろうな〜ぐらいの知識でスタート
間違っていたら教えてください。
runWithSceneが二回出てきて嫌なんですけど。
ifの外にauto scene;と書くとエラーになってしまって。。
このへんは僕のC++勉強不足なんですけど。
今後勉強し、必要ならば更新します。
AppDelegate.cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
bool AppDelegate::applicationDidFinishLaunching() { 略 auto director = Director::getInstance(); UserDefault* user = cocos2d::UserDefault::getInstance(); bool boolValue = user->getBoolForKey("boolKey", false); if (boolValue) { auto scene = TopScene::createScene(); director->runWithScene(scene); }else{ auto scene = GetPlayerName::createScene(); director->runWithScene(scene); } } |
名前の入力が完了したら初回起動フラグを更新
GetPlayerName.cpp
1 2 3 4 |
どっかのメッソドで UserDefault* user = cocos2d::UserDefault::getInstance(); user->setBoolForKey("boolKey", true); user->flush(); |
こんな感じでいまのところ想定通り動いてます。