cocos2d-x 3.0 rapidJson 解析操作应该注意的细节

Size visibleSize = Director::getInstance()->getVisibleSize();
	Point origin = Director::getInstance()->getVisibleOrigin();

	std::string  path = FileUtils::getInstance()->fullPathForFilename("story.json");
	std::string document = FileUtils::getInstance()->getStringFromFile(path.c_str());
	rapidjson::Document  doc;
	doc.Parse<0>(document.c_str());

	
	rapidjson::Value &datas = doc["datas"];
	if (_dataIndex >= datas.Size())
	{
		return;
	}
	std::string  name = datas[_dataIndex]["name"].GetString();
	std::string  msg = datas[_dataIndex]["msg"].GetString();
	std::string  picture = datas[_dataIndex]["picture"].GetString();

	this->removeAllChildrenWithCleanup(true);

	auto label = LabelTTF::create(name, "Arial", 24);

	// position the label on the center of the screen
	label->setPosition(Point(origin.x + visibleSize.width / 2,
		origin.y + visibleSize.height - label->getContentSize().height));

	// add the label as a child to this layer
	this->addChild(label, 1);



	auto labels = LabelTTF::create(msg, "Arial",  24,Size(300,0));

	// position the label on the center of the screen
	labels->setPosition(Point(origin.x + visibleSize.width / 2,
		origin.y + visibleSize.height*3/4 - labels->getContentSize().height));

	// add the label as a child to this layer
	this->addChild(labels, 1);
	
	_dataIndex++;

	

cocos2d-x  3.0 交流群: 367086379
原文地址:https://www.cnblogs.com/mfrbuaa/p/4329317.html