我有一个带有两个精灵的简单LibGdx应用程序。一个是简单的纹理,重复填充背景。这个有效。另一种是α混合的纹理,因此角落看起来比中心更暗。它被拉伸以覆盖整个屏幕。出于某种原因,这个出现在错误的位置,只是一个大的白盒子。
这是我的代码:
<asp:Repeater ID="repeter1" runat="server">
<HeaderTemplate>
<table style="table-layout: fixed; width:100%;" >
<tr>
<th>Column 1</th>
<th>Column 2 </th>
<th>Column 3</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<asp:Label ID="lbl1" runat="server"><%#DataBinder.Eval(Container.DataItem, "column1")%></asp:Label></td>
<td>
<asp:Label ID="lbl2" runat="server"><%#DataBinder.Eval(Container.DataItem, "column2")%></asp:Label></td>
<td>
<asp:Label ID="lbl3" runat="server"><%#DataBinder.Eval(Container.DataItem, "column3")%></asp:Label></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
修改
我通过将draw命令更改为:
来修复它{{1}}
然而如果我在绘制这些纹理后尝试进行任何绘制,例如:
{{1}}
它停止工作并返回绘制白框。它似乎非常随机,就像libgdx严重错误配置。有没有办法调试这个东西来找出问题所在?
答案 0 :(得分:0)
你应该在混合纹理绘制之前添加enableBlending
batch.enableBlending();
edgeBlur.draw(batch);
batch.disableBlending();
您还可以尝试在创建批处理后使用setBlendFunction方法设置批处理混合功能
由于编辑而更新:
启动Shaperenderer时应该结束SpriteBatch