在Android上发布ShapeRenderer行为

问题描述

我正在使用ShapeRenderer在蒙版纹理下绘制某种圆形指示器。一切都可以正常运行,并且可以在桌面上按预期工作,但是当在android上运行相同的代码时,形状渲染始终位于顶部。另一个奇怪的区别是,所有形状渲染函数调用似乎都是反向的,因此第一个形状绘制在顶部。 我已经在2020年6月的libgdx每晚构建和2020年9月20日的每晚构建中重现了该问题。

这是代码

myConstructor(){
   sr = new ShapeRenderer();
   sr.scale(1 + 1.1f * GUI.ZOOM_RATIO,1 + 1.1f * GUI.ZOOM_RATIO,0f);
}

draw(Batch g,float arg){
   g.end(); // I have some batch rendering before
   sr.begin(ShapeType.Filled);
   sr.setColor(Color.CYAN);
   sr.circle(indX,indY,indicatorW + GUI.fit2Density(2));
   sr.setColor(Color.DARK_GRAY);
   sr.arc(indX,indicatorW,0f,degrees);
   sr.end();
   g.begin();
   g.setColor(1f,1f,1f);
   g.draw(coolDownIndic,indX - coolDownIndic.getWidth() / 2 - GUI.fit2Density(2),indY - coolDownIndic.getHeight() / 2);
}

在桌面上,我看到纹理在圆弧上过渡,圆弧在圆上过渡。此顺序在android上完全相反,您可以在Desktop rendering处看到预期的行为,而在Android rendering处看到不正确的行为(顶部的紫色云是与该问题无关的粒子发射器效果)。>

我猜这是一个错误,请注意,我在ShapeRenderer上使用了scale方法,不确定是否可以关联。

任何帮助将不胜感激。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)