我正在尝试通过xml在objective-c中加载我的关卡。
这是我的关卡编辑器输出的xml样式。
<level>
<entity>
<name>grey</name>
<id>5</id>
<body>false</body>
<x>0.0</x>
<y>0.0</y>
<rotation>0.0</rotation>
</entity>
<entity>
<name>grey</name>
<id>5</id>
<body>false</body>
<x>0.0</x>
<y>0.0</y>
<rotation>0.0</rotation>
</entity>
</level>
每个游戏对象在XML中被识别为自己的实体(Sprite在游戏中加载时)。因此,当解析发生时,每个实体或CCSprite都应该有自己的x和y。
我希望解析器遍历xml文档,以便每个实体都有一个名称,x和y,以及旋转。其他因素我还没有关注。
我已经尝试了几个小时来使用NSXML解析器来运行并运行但到目前为止没有运气。这就是我到目前为止所尝试过的。
NSString* currentElement;
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{
currentElement = elementName;
}
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string{
if([currentElement isEqualToString:@"name"]){
NSLog(@"Name found: %@", string);
}
}
这适用于某些元素,但问题是foundCharacters被多次调用,有时名称字符串返回空白。
我想要做的是当找到一个元素“name,我想调用一个方法,将当前实体添加到场景中,将”Name“,”X“和”Y“元素作为参数。< / p>