对于不同的控件的属性的解析
解析方法很多,比较简单的一种是通过原控件的派生方式 来对于的多态解析器,每个类负责该类的属性解析
还可以用组件式 来解析,不过 这2中方式差别不大, 一个是多态 一个是 组合
组件还可以用属性映射来解析,属性名和 组件类别的关联,只要配置一次 那就可以自动解析了
以下例子是采用多态的解析方法
class NodeReader
{
public:
void NodeParse(Node*ret)
{
ret->setPositionX(100);
}
};
class SpriteReader :public NodeReader
{
public:
void SpriteParse(Sprite*ret)//当然可以用virtual 来统一接口名
{
NodeReader::NodeParse(ret);
ret->setFlippedX(true);
}
};
Node * creater()
{
SpriteReader *reader = new SpriteReader;
Sprite *ret = Sprite::create("1.png");
reader->SpriteParse(ret);
return ret;
}
this->addChild(creater());
.