gpt4 book ai didi

java - libGDX Sprite 渲染失败

转载 作者:行者123 更新时间:2023-12-02 06:16:33 25 4
gpt4 key购买 nike

The full code is on GitHub .

我相当确定渲染问题出在 Pong.java (src/com/me/pong/Pong.java) 的 render() 方法中:

    @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 文档上查找更多信息,但找不到任何内容,例如 Sprite 坐标系与原始坐标系(它们似乎不同)。我还尝试了其他 StackOverflow 线程 e.g. this 上提出的一些修复方案,但似乎没有什么改变程序的输出,至少表面上没有。

主要问题是由于某种未知原因而无法渲染,我正在尝试确定并修复该原因。我有一些想法,但我不知道从哪里开始。

如果需要发布其他片段以便更好地分析,我很乐意发布它们。

最佳答案

我看了一下代码。您创建以下凸轮:camera = new OrthographicCamera(1, h/w);如果您查看 API,就会发现凸轮的构造函数采用视口(viewport)高度和视口(viewport)宽度。您设置 hight = 1with = Gdx.graphics.getWidth()/Gdx.graphics.getHight();然后将Ball的位置设置为Gdx.graphics.getWidth()/2、Gdx.graphics.getHight()/2。当您只查看从 P1(0/0)P2(1/0.x)(取决于屏幕分辨率) 的坐标时,您看不到您的对象,它超出范围。将相机视口(viewport)设置为宽度 80、高度 45 (16/9) 等。然后你可以将你的对象放置在你自己的世界坐标系中(40, 22.5在中间)。

关于java - libGDX Sprite 渲染失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21398553/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com