【问题标题】:how to draw custom shapes using a simple texture in libgdx?如何使用 libgdx 中的简单纹理绘制自定义形状?
【发布时间】:2012-05-11 08:22:59
【问题描述】:

我想在我的游戏中绘制自定义静态形状,就像愤怒的小鸟所做的那样:

但问题是纹理是方形的。

我们如何告诉“SpriteBatch”绘制带有一些顶点的形状?有人有什么想法吗?

【问题讨论】:

    标签: java opengl-es libgdx


    【解决方案1】:

    根据docs

    SpriteBatch 用于绘制引用纹理(区域)的 2D 矩形

    因此,从本质上讲,此方法不允许您指定除矩形之外的任何其他几何图形。但是,有一个draw method 允许您指定“矩形”的四个坐标并将其转换为其他东西。您必须将几何体分解为适合此基元的较小部分。看起来这种方法不适合几何形状的变化。

    你更好create a mesh,然后画出来。网格不支持三角剖分,因此使用ObjLoader.loadObj* 方法以Alias Wavefront OBJ 格式加载网格。指定几何图形不应该是一件麻烦事;文章链接到一些示例文件。

    【讨论】:

    • 感谢您的好建议。但是有一个问题:我使用相机并将我的 spriteBatch 配置为使用公制视口。并且网格不支持矩阵投影。因此,如果我使用 mesh.render(..) 进行绘制,它将不支持相机(随相机移动)并且它的大小不会度量。你对这个问题有什么想法吗?
    • @Aliaaa 你的意思是,SpriteBatch 包含 Projection 和 ModelView 矩阵?看看at the next example,你需要自己应用矩阵。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-31
    • 2012-11-25
    • 2017-10-09
    • 2022-11-21
    • 1970-01-01
    • 1970-01-01
    • 2014-09-05
    相关资源
    最近更新 更多