只需解决这一个问题,即可编译通过。
frameworks\cocos2d-x\cocos\ui\UIScale9Sprite.cpp
UIScale9Sprite.cpp(1172):
std::vector
if (_renderingType == RenderingType::SIMPLE)
{
//vs2012对C++11语法支持不全,那个语法刚好就是它不支持的。修改的
//uvCoordinates = {Vec2(u0,v3), Vec2(u3,v0)};
uvCoordinates.push_back(Vec2(u0,v3));
uvCoordinates.push_back(Vec2(u3,v0));
}
else
{
//vs2012对C++11语法支持不全,那个语法刚好就是它不支持的。修改的
//uvCoordinates = {Vec2(u0,v3), Vec2(u1,v2), Vec2(u2,v1), Vec2(u3,v0)};
uvCoordinates.push_back(Vec2(u0,v3));
uvCoordinates.push_back(Vec2(u1,v2));
uvCoordinates.push_back(Vec2(u2,v1));
uvCoordinates.push_back(Vec2(u3,v0));
}
UIScale9Sprite.cpp(1218):
//vs2012对C++11语法支持不全,那个语法刚好就是它不支持的。修改的
//vertices = {Vec2(offsetLeft * hScale, offsetBottom * vScale),
// Vec2(_preferredSize.width - offsetRight * hScale, _preferredSize.height - offsetTop * vScale)};
vertices.push_back(Vec2(offsetLeft * hScale, offsetBottom * vScale));
vertices.push_back(Vec2(_preferredSize.width - offsetRight * hScale, _preferredSize.height - offsetTop * vScale));
UIScale9Sprite.cpp(1310):
//vs2012对C++11语法支持不全,那个语法刚好就是它不支持的。修改的
//vertices = {Vec2(x0,y0), Vec2(x1,y1), Vec2(x2,y2), Vec2(x3,y3)};
vertices.push_back(Vec2(x0,y0));
vertices.push_back(Vec2(x1,y1));
vertices.push_back(Vec2(x2,y2));
vertices.push_back(Vec2(x3,y3));