【发布时间】:2014-01-28 06:37:35
【问题描述】:
我相当肯定渲染的问题在于render() 方法中的 Pong.java (src/com/me/pong/Pong.java):
@Override
public void render() {
update();
Gdx.graphics.setTitle("Pong | " + (int)(1.0f/Gdx.graphics.getDeltaTime()) + " FPS" );
Gdx.gl.glClearColor(1, 1, 1, 1);
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
camera.update();
batch.setProjectionMatrix(camera.combined);
batch.begin();
for(Entity e : entities) {
e.draw(batch);
}
batch.end();
}
因为Ball 中的sprite 或加载使用的纹理似乎没有任何问题。
这也可能是由于 Ball 的定位开始,但我对此表示怀疑,因为这些点是正确的(在 update() 中,我从 sprite 打印 x 坐标时它从一侧或另一侧消失,到目前为止我还没有看到意外的值)。
我尝试在官方 libGDX 文档中找到更多信息,但找不到任何关于精灵坐标系与原始坐标系的信息(它们似乎不同)。我还尝试了在其他 StackOverflow 线程 e.g. this 上提出的一些修复,但似乎没有改变程序的输出,至少表面上没有。
主要问题是由于某种未知原因无法渲染Ball,我正在尝试确定和修复。我有一些想法,但我不知道从哪里开始。
如果需要发布其他 sn-ps 以进行更好的分析,我很乐意发布。
【问题讨论】:
-
你的实体是什么?它是 libgdx 类的子类吗? entity.draw(batch) 的代码是什么?你在哪里设置相机的位置?
-
尺寸怎么样?这段代码没有错
-
@Springrbua 您可以在 src/com/me/pong/Entity.java 找到实体。这是一个简单的界面,应该包含任何游戏实体的最基本方法。如果你愿意,我会把它添加到主帖中。