精灵显示为白色方框

时间:2015-09-25 21:40:43

标签: android libgdx

我有一个带有两个精灵的简单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严重错误配置。有没有办法调试这个东西来找出问题所在?

1 个答案:

答案 0 :(得分:0)

你应该在混合纹理绘制之前添加enableBlending

    batch.enableBlending();

    edgeBlur.draw(batch);

    batch.disableBlending();

您还可以尝试在创建批处理后使用setBlendFunction方法设置批处理混合功能

由于编辑而更新:

启动Shaperenderer时应该结束SpriteBatch