gpt4 book ai didi

java - 无法集中动画 (libGdx)

转载 作者:行者123 更新时间:2023-11-30 03:27:08 25 4
gpt4 key购买 nike

我在集中我的 sprite 动画时遇到了问题,有人可以给我一盏灯吗?

public void render() {
Gdx.gl.glClearColor(1, 1, 1, 1);
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);

stateTime += Gdx.graphics.getDeltaTime();
currentFrame = walkAnimation.getKeyFrame(stateTime, true);



batch.setProjectionMatrix(cam.combined);
batch.begin();
batch.draw(currentFrame, Gdx.graphics.getWidth() / 2 - ((walkSheet.getWidth()/FRAME_COLS) / 2), Gdx.graphics.getHeight() / 2 - ((walkSheet.getHeight()/FRAME_ROWS) / 2), width / 2, height / 4);

我的动画正在向左绘制几个像素。

最佳答案

对于x位置,你有-

Gdx.graphics.getWidth() / 2 - ((walkSheet.getWidth()/FRAME_COLS) / 2)

如果每个动画图像都是 100px 宽,你为什么不使用-

private static final float WALK_ANIM_WIDTH = 100f;

X 位置将是 -

Gdx.graphics.getWidth() / 2f - WALK_ANIM_WIDTH / 2f

更新:

根据你的评论,你可以有类似的东西-

public static final int SCREEN_WIDTH = 800;
public static final int SCREEN_HEIGHT = 520;

guiCam = new OrthographicCamera(SCREEN_WIDTH, SCREEN_HEIGHT);
guiCam.position.set(SCREEN_WIDTH / 2f, SCREEN_HEIGHT / 2f, 0);

现在您可以简单地使用 SCREEN_WIDTH 而不是使用“Gdx.graphics.getWidth()”。

看看 libGDX 中的 SuperJumper 演示。您将看到他们如何在游戏世界中使用视口(viewport)。

关于java - 无法集中动画 (libGdx),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18067917/

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