Cocos2d/CCDrawNode - 如何绘制一条线?

3
我看到有绘制圆形、多边形、点和线段的功能,但我没有看到绘制A-B线(给定厚度)的功能,例如ccDrawLine()(似乎已弃用)。
我需要在连接节点之间绘制一个“网络”。我已经有了绘制网络的代码,但是ccDrawLine似乎不支持像CCDrawNode那样的抗锯齿或不透明度。而且,它似乎没有自动支持批处理。
有什么建议吗?我需要做很多数学计算才能在两点之间以正确的角度绘制2个三角形矩形吗?
更新: 根据下面的评论...我有一个关于如何使用厚度为2的线从{0,0}到{10,0}的想法,我必须在{0,0.5},{10,0.5},{10,-0.5},{0,-0.5}处绘制一个矩形...我可以轻松地找出顺时针的三角形点并从中制作多边形。因此,我甚至可以轻松地制作水平/垂直线。但是在{4,5},{10,7}之间怎么办?您会绘制普通矩形并对其应用变换矩阵吗?还是仍然预先计算每个4个点,然后从中制作2个三角形?
更新: 也许使用缩放的“线”精灵会更好?例如:https://stackoverflow.com/a/8760462/224707 更新: 如何使用带子?那样行吗?例如:https://dev59.com/73RB5IYBdhLWcg3wLk1M#8178729 不确定带子是否适用于点的“网络”...
澄清: 想象一下这张图片,但是没有交叉的直线...像这样:
(来源:relenet.com 更新: 显然,我的帖子在昨晚就提交到论坛了,就在它崩溃之前...http://www.cocos2d-iphone.org/forum/topic/224498
1个回答

2

一条线是一个线段。你可以从这里开始……;)

更新:

CCDrawNode可以绘制线段。线段是具有定义的起点和终点的线。


2
你的回答质量很低 :D - spajce
我本来以为一个区段应该是三角形,而不是一条线/矩形。我想,归根结底,“有厚度的线”只是一个矩形(反过来又是一个多边形)。问题就在于如何计算所述多边形的4个角(给定点A、B和厚度T)。水平和垂直的不太难,我只是不确定如何/如何将矩阵应用于顶点以将它们定位.. - Nick
好的 - 经过一些研究,@LearnCocos2D 是正确的。Segment == Line(不是三角形,正如我所想的那样)。 - Nick
刚刚发布了关于这个问题的帖子,这个答案并不令人满意。http://stackoverflow.com/questions/28523010/drawing-cocos2d-v3 - quantumpotato

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接