问题标签 [shape-rendering]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1642 浏览

svg - 相邻的 svg:多边形边缘不相交

我正在使用彼此相邻的多边形绘制条形图,如下所示:

如果仔细观察,每个多边形之间都有空白(放大):

我正在努力防止这种情况发生。我发现了 SVGshape-rendering属性并将其设置为geometricPrecision. 这解决了问题,但给了我非常清晰的边缘:

我也不想这样。我尝试了其他可能的值,shape-rendering但没有一个效果很好。(我在 WebKit 上试过这些。)我正在寻找解决方案。

对于那些感兴趣的人,这里的图表的 jsFiddle 。

0 投票
2 回答
1290 浏览

java - 如何在 libgdx 中填充一个圆圈?

使用ShapeRenderer类,我只能填充矩形。

  • 那么我怎样才能填满一个圆圈呢?
  • 如果可能的话,填充一个扇区(圆圈的一部分)?
0 投票
1 回答
1659 浏览

java - Libgdx body 位置和 shaperenderer 位置不一样

一般来说,我对 libgdx 还很陌生。基本上我有球弹跳的世界,我只是在试验它。在我有一个固定的相机位置之前:

http://prntscr.com/567hvo

在我在渲染方法中放入以下行之后,相机会一直跟随玩家(即圆圈):

玩家是体型。

所以当我这样做时,它确实会跟随玩家,但形状渲染器现在表现得很奇怪。看看会发生什么:

http://prntscr.com/567i9a

尽管我指的是玩家对相机和形状渲染器的相同 x 和 y 位置,但它们不在同一位置。

这是我的代码:

}

0 投票
1 回答
742 浏览

camera - ShapeRenderer 相机

我正在开发平台游戏(900x700)。我想使用 ShapeRenderer 渲染矩形(敌人),但我没有看到矩形。

我知道我需要以某种方式将屏幕坐标转换为世界坐标。我尝试使用

但我需要Vector3作为参数。那么我怎样才能得到 Vector3 呢?

0 投票
1 回答
1107 浏览

colors - LibGDX shaperenderer 颜色错误

我无法设置矩形的颜色。我的矩形的颜色是灰色的 0.5f alpha 或黑色的 0。我该如何设置我的颜色?

这是代码:

0 投票
2 回答
731 浏览

java - Java LibGDX 绘制多个形状,每个形状都有独特的渲染器

我正在使用 JAVA 使用 LibGDX 创建一个游戏,但我遇到了一个即使经过一周的尝试也无法解决的问题。我有使用 ShapeRenderer 类绘制的形状,并且我有多个相互交互的类和方法。一个形状在屏幕上增长,当用户点击屏幕时,形状停止增长,第二个形状开始增长。

我有一组 ShapeRenderer 和 Polygon,我必须使用不同的 ShapeRenderer 和不同的 Polygon 绘制每个形状。例如,必须使用 ShapeRenderer[1] 和 Polygon[1] 渲染三角形。该级别的下一个三角形必须使用 ShapeRenderer[2] 和 Polygon[2] 绘制。这是为了避免在同一 ShapeRenderer 上绘制多边形时发生冲突的值和旋转。

我的特殊问题是我创建的一个方法,“DrawStar”被赋予一个数字(以 1 开头代表第一颗星)并使用 ShapeRenderer[1] 和 Polygon[1] 绘制该星。这意味着正在绘制第一颗星,然后当我单击屏幕时,理想情况下,第一颗星应该停止生长,第二颗星应该开始使用 ShapeRenderer[2] 和 Polygon[2] 渲染。

这就是问题所在:假设这个特定的关卡已经被编写,以便 2 颗星会增长。方法“DrawStar”将被赋予数字“1”并随着它的增长绘制第一颗星,然后方法“DrawStar”被赋予数字“2”并绘制第二颗星(这在视觉上还不是问题因为星星的多边形从 0 开始,直到第二次点击才增加,所以即使它正在绘制它也不可见)并且它继续同时绘制两颗星星,它基本上在之后绘制该级别的所有星星另一个即 DrawShape(1) 然后 DrawShape(2) 然后 DrawShape(1) 然后 DrawShape(2) 等等。

这是我的代码:

Star 表示通过的星形对象,num 表示要绘制的形状编号,如上面使用 ShapeRenderer[1] 和 Polygon[1] 的示例中所述。问题是它会 DrawFiveStar(Star1, 1), DrawFiveStar(Star1, 2), DrawFiveStar(Star1, 1), DrawFiveStar(Star1, 2)....直到我点击鼠标按钮,它移动到下一个星形对象DrawFiveStar(Star2, 1), DrawFiveStar(Star2, 2), DrawFiveStar(Star2, 1), DrawFiveStar(Star2, 2)....

上面代码的问题在于,使用 ShapeRenderer 数组的全部意义在于,对于第二个形状,使用新的、新鲜的 ShapeRenderer。这段代码使第一个星形对象将使用两个 ShapeRenderers,并且当我单击提示第二个星形对象增长时,两个 ShapeRenderer 都已用于绘制第一个星形对象。理想情况下,它应该只有第一个 ShapeRenderer 用于绘制第一个星形对象,然后在第二个对象开始增长时使用第二个 ShapeRenderer 绘制。我尝试了许多解决方案,但都没有产生我刚才描述的理想解决方案的预期结果。

这是一个我无法弄清楚的编程问题,因为代码需要是动态的,因此如果它是 3 或 100 个形状,代码仍然会为每个星形对象使用不同的 ShapeRenderer。同样,这是因为在一个 ShapeRenderer 对象上绘制多个形状并旋转它们会导致非常奇怪的结果,形状到处乱飞,在单独的 ShapeRenderer 对象上绘制多个旋转形状可以解决这个问题。这就是我要在这里实现的目标。

阅读关卡 > 看到有 2 个形状要绘制 > 使用 2 个形状渲染器来绘制这 2 个形状

0 投票
1 回答
1763 浏览

svg - 如何获得 SVG 文本的“crispEdges”?

除文本外的 Svg 形状受shape-rendering可以设置为crispEdges值的属性的影响(https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/shape-rendering)。该值似乎关闭了抗锯齿功能。

但文本仅受text-rendering. 但是,这不提供crispEdges值(https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/text-rendering)。为什么?有没有另一种方法来获得非抗锯齿?

0 投票
2 回答
788 浏览

java - 在 Scene2d Actor 中绘制形状(IE. Image 或 ImageTextButton)

我已经有几年没有使用过 LibGdx 了,但我记得在某个时候发现了这一点。我正在尝试创建一个按钮,并使用 ShapeRenderer 在按钮的边缘周围绘制一个矩形(以勾勒它的轮廓)。

到目前为止,我已经尝试创建自己的自定义 Actor 并在 draw 方法中使用 ShapeRenderer,但它不会更新矩形的位置、不透明度等。换句话说,它没有利用任何演员等级的好处。有什么方法可以使用 Actor 类绘制线条或形状,然后使用应用的动作等进行更新?

这是我在自定义 Actor 类中所做的示例:

任何帮助将不胜感激; 提前致谢!

编辑 4/21 下午 2:39 EST 进行了建议的更改,形状仍然不会随着动作移动/旋转。还有其他建议吗?

编辑 4/21 下午 2:46 EST 这是我实现自定义演员的方式,我将其添加到父组并在组上设置操作...

0 投票
1 回答
444 浏览

libgdx - LibGDX shapeRenderer

我正在使用 scene2D 在 LibGdx 中开发我的第一个游戏。如何渲染形状以检查不同形状实体的碰撞?目前我正在渲染矩形和圆形形状。但它看起来不适合我的要求。哪个是渲染形状以检查碰撞的最佳方法?

0 投票
2 回答
172 浏览

libgdx - 在 libGDX 中翻转 shaperenderer 对象

我正在翻转我的 libGDX 项目中的一个对象。同时我也想翻转它的形状渲染圆。我该怎么做?这是我的 shaperenderer 代码:

和循环方法是:

我正在像这样翻转精灵对象..