zoukankan      html  css  js  c++  java
  • Cocos2d3.0 制作PList文件



            auto root = Dictionary::create();
            auto string = String::create("string element value");
            root->setObject(string, "string element key");
            
            auto array = Array::create();
            
            auto dictInArray = Dictionary::create();
            dictInArray->setObject(String::create("string in dictInArray value 0"), "string in dictInArray key 0");
            dictInArray->setObject(String::create("string in dictInArray value 1"), "string in dictInArray key 1");
            array->addObject(dictInArray);
            
            array->addObject(String::create("string in array"));
            
            auto arrayInArray = Array::create();
            arrayInArray->addObject(String::create("string 0 in arrayInArray"));
            arrayInArray->addObject(String::create("string 1 in arrayInArray"));
            array->addObject(arrayInArray);
            
            root->setObject(array, "array");
            
            auto dictInDict = Dictionary::create();
            dictInDict->setObject(String::create("string in dictInDict value"), "string in dictInDict key");
            
            //add boolean to the plist
            auto booleanObject = Bool::create(true);
            dictInDict->setObject(booleanObject, "bool");
            
            //add interger to the plist
            auto intObject = Integer::create(1024);
            dictInDict->setObject(intObject, "integer");
            
            //add float to the plist
            auto floatObject = Float::create(1024.1024f);
            dictInDict->setObject(floatObject, "float");
            
            //add double to the plist
            auto doubleObject = Double::create(1024.123);
            dictInDict->setObject(doubleObject, "double");
            
            
            
            root->setObject(dictInDict, "dictInDict, Hello World");
            
            // end with /
            std::string writablePath = FileUtils::getInstance()->getWritablePath();
            std::string fullPath = writablePath + "text.plist";
            if(root->writeToFile(fullPath.c_str()))
                log("see the plist file at %s", fullPath.c_str());
            else
                log("write plist file failed");
            
          
            
            auto loadDict = __Dictionary::createWithContentsOfFile(fullPath.c_str());
            auto loadDictInDict = (__Dictionary*)loadDict->objectForKey("dictInDict, Hello World");
            auto boolValue = (__String*)loadDictInDict->objectForKey("bool");
            CCLOG("%s",boolValue->getCString());
            auto floatValue = (__String*)loadDictInDict->objectForKey("float");
            CCLOG("%s",floatValue->getCString());
            auto intValue = (__String*)loadDictInDict->objectForKey("integer");
            CCLOG("%s",intValue->getCString());
            auto doubleValue = (__String*)loadDictInDict->objectForKey("double");
            CCLOG("%s",doubleValue->getCString());
    


  • 相关阅读:
    解决 Windows 资源管理器 CPU 占用率很高的问题
    彻底卸载Cygwin
    Cygwin 快速镜像站点
    解决 cygwin 在 win10 下中文显示乱码的问题
    酷派大神 F1 连接调试,日志获取的方法
    陌路
    游戏开发中自定义脚本与配置
    在 cygwin 的环境下调用 libgdx gdx-tools
    在 cygwin 的环境下使用 git 的时候中文编码的问题
    对 android apk 进行重新签名操作
  • 原文地址:https://www.cnblogs.com/zsychanpin/p/6704221.html
Copyright © 2011-2022 走看看