<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                玩家要保存的數據可能很多,這里,我們只保存分數 這個類的成員變量和函數如下 ~~~ //用戶數據操作的成員變量 UserDefault * m_userDefault; //要用到這種特殊的容器了。。 ValueVector m_vector; //記錄玩家的當前分數 CC_SYNTHESIZE(int, m_score, Score); void save(); ~~~ 我們使用cocos2d-x提供的UserDefault類來實現數據保存功能 對于UserDefault類,我也不太熟悉,主要是參考官方文檔和網上的例子來做的,不過基本思路還算清晰 ~~~ bool SaveData::init() { m_userDefault = UserDefault::getInstance(); m_vector = ValueVector(); m_score = 0; //每玩一次游戲,分數的記錄條數就會加一 m_userDefault->setIntegerForKey("count", (m_userDefault->getIntegerForKey("count", 0)) + 1); //首先判斷XML文件是否存在,如果不存在的話就會執行if中的語句 if (m_userDefault->getBoolForKey("isExit", false) == false) { //玩家初次玩游戲會執行這里 m_userDefault->setBoolForKey("isExit", true); } else { //將分數記錄保存在vector集合中 for (int i = 0; i < m_userDefault->getIntegerForKey("count") - 1; i++) { __String * index = String::createWithFormat("%d", i); //將要放的數據使用Value包裝一下 m_vector.push_back(Value(m_userDefault->getIntegerForKey(index->getCString()))); } } return true; } void SaveData::save() { /*本函數的整體思路是先對vector中保存的玩家數據進行排序,然后重新寫入到xml文件中*/ //將玩家的分數保存到set集合中,以便排序,分數和原先的分數不同才保存 int i = 0; for (auto tem : m_vector) { if (tem.asInt() == m_score) { break; } i++; } if (i == m_vector.size()) { m_vector.push_back(Value(m_score)); //自定義排序函數,對m_vector中的內容進行排序,方便以后對數據的操作 auto sortData = [](Value value1, Value value2) { return value1.asInt() > value2.asInt(); }; //調用c++模板中的sort函數進行排序,前倆個參數是數組的地址,最后一個參數是使用的排序函數 std::sort(m_vector.begin(), m_vector.end(), sortData); //將玩家的得分保存在文件中 for (int i = 0; i < m_vector.size(); i++) { auto value = m_vector.at(i); auto index = __String::createWithFormat("%d", i); m_userDefault->setIntegerForKey(index->getCString(), value.asInt()); } } //單獨保存本次游戲的得分 UserDefault::getInstance()->setIntegerForKey("currentScore", m_score); //重新設置一下count UserDefault::getInstance()->setIntegerForKey("count", m_vector.size()); //刷新 m_userDefault->flush(); } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看