Я работаю над импортером для моей игры, он читает xml и затем создает тела box2d для всего.
Например
<polygon vertexCount="3" density="0" friction="0.25" restitution="0.30000000000000004">
<vertice x="6.506500000000001" y="0.4345"/>
<vertice x="6.534970527648927" y="0.48385302734375"/>
<vertice x="6.478029472351075" y="0.48385302734375"/>
</polygon>
Проблема в экспортере. Теперь я сталкиваюсь с частью многоугольника, мне нужно настроить массив b2vec2, прежде чем добавлять вершины и устанавливать их позиции.
int count = [[childnode attributeForName:@"vertexCount"] intValue];
b2Vec2 points[count];
но box2d хочет, чтобы точки [5] были фактическим литеральным числом (например, точки [5] вместо переменной points [число], ошибка, которую она выдает, когда у меня есть переменная count:
Variable length array of non-POD element type 'b2Vec2'
Как мне решить это? Я пытался сделать его константой, но это тоже не работает (и не помогает мне, потому что мне нужно, чтобы оно было динамичным).