我正在尝试设计一个矢量字体引擎,就像 Atari 1979 中的那样。我有保存预定义字符集及其坐标的问题,我不知道保存这些多边形的最佳数据结构是什么或什么是为此设计课程的最佳方式。这是我的试验,我对此感到不舒服。
class Character
{
public:
Character();
public:
int ascii;
int strokes;
std::vector<ci::Vec2i> points;
};
void VectorFont::Init_Chars()
{
for (int i=0; i<1;i++)
{
Character char_A;
char_A.ascii = 65;
char_A.strokes = 6;
ci::Vec2i point_1 = ci::Vec2i(-6,-4);
ci::Vec2i point_2 = ci::Vec2i(0,8);
ci::Vec2i point_3 = ci::Vec2i(0,8);
ci::Vec2i point_4 = ci::Vec2i(6,-4);
ci::Vec2i point_5 = ci::Vec2i(4,0);
ci::Vec2i point_6 = ci::Vec2i(-4,0);
char_A.points.push_back(point_1);
char_A.points.push_back(point_2);
char_A.points.push_back(point_3);
char_A.points.push_back(point_4);
char_A.points.push_back(point_5);
char_A.points.push_back(point_6);
chars.push_back(char_A);
}
}