有没有人知道cocos2dx的抗锯齿问题的解决方案?
DrawNode
我可以使用标准的DrawNode类并绘制基数样条线,这些样条线将转换为一组多边形。像这样:
node = DrawNode::create(9);
node->clear();
node->drawCardinalSpline(pts, tension, segments, Color4F::RED);
for (int i = 0; i < pts->count(); ++i) {
node->drawPoint(pts->getControlPointAtIndex(i), 10, Color4F::BLUE);
}
这张照片上有以下文物:
使用三角形绘制 我可以通过计算三角形顶点来直接绘制所有东西。我有一个有效的解决方案。它看起来像这样:
看看曲线。 (从Android设备捕获的屏幕)。为了做到这一点,我使用了自定义DrawNode,因为我无法为不同的三角形顶点设置不同的不透明度。我的类AlphaNode:
然后我只填充Vec2顶点数组,每3个顶点调用我的AlphaNode类中的drawTriangle。在这种方法中,我通过在边界顶点上手动将alpha设置为0来获得抗锯齿:
我想我清楚地解释了这个想法(但如果不是,我可以用后面的所有代码编写单独的可编译解决方案。)
这个解决方案绝对允许我获得我想要的任何图形。但如果我自己绘制三角形,我真的需要引擎吗? (如果有人对我的自定义绘制节点限制有什么要说的话,请 - 比如说)
LibSkia
好。我可以链接到android上的libskia。在skia侧制作一些路径对象(skia会使它们消除锯齿)。然后将其导出到位图。然后用椰子画画。但是又一次......为什么我在这种情况下需要cocos?
我会尝试寻找另一种方式。我将从每一个帮助中感到非常高兴。我真的认为它是2-3天发动机的一个重要特征 - 画线的能力......你如何为你的项目解决这个问题?你如何绘制曲线?
P.S。使用类似链接链接到cocos-forum的question。