问题描述
我正在使用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 (将#修改为@)