我用的2.2.4开发的程序
bool MapObjectsLayer::init(CCTMXObjectGroup* pObjGroup)
{
//初始化
if (!CCLayer::init())
{
return false;
}
//解析
CCArray* objects = pObjGroup->getObjects();
unsigned int objectsCount = objects->count();
CCDictionary* dict = NULL;
CCObject* pObj = NULL;
if (objectsCount>0)
{
CCARRAY_FOREACH(objects,pObj)
{
dict = (CCDictionary*)pObj;
if (!dict)
{
break;
}
const char* key = “x”;
int x = ((CCString*)dict->objectForKey(key))->intValue();
const char* key3 = "name";
std::string name = ((CCString*)dict->objectForKey(key3))->getCString();
std::string name_end = ".png";
std::string spriteName = name + name_end;
const char* key2 = "y";
CCString* str_temp = (CCString*)dict->objectForKey(key2);
int y = str_temp->intValue();
CCSprite* objSprite = CCSprite::createWithSpriteFrameName(spriteName.c_str());
objSprite->setPosition(ccp(x,y));
addChild(objSprite);
}
}
return true;
}
上面主要用来解析一个TMX地图的对象层CCTMXObjectGroup的物体object.
解析地图数据如下:
发现int y = str_temp->intValue();这行得出的不是文件中y的值,而x和name 字段都能读取出来。
触控技术人员 速度过来看看 给个回复啊