gpt4 book ai didi

java - 如何在 libgdx 中创建带有碰撞和球的随机和无限墙?

转载 作者:行者123 更新时间:2023-11-30 02:09:10 25 4
gpt4 key购买 nike

我是 Android 游戏开发的新手,但我对标准应用程序开发有一些经验。

我想创建一个用于学习目的的“教程游戏”。游戏类似于这个:https://goo.gl/ywawt5但玩家不是忍者,而是一个球。而且没有敌人或其他任何东西。它只是无缘无故地从一边跳到另一边。正如我所说,这只是为了学习代码!

我开始使用 LIBGDX 的 ShapeRenderer 创建一个小球:

    shapeRenderer.begin(ShapeRenderer.ShapeType.Filled);
shapeRenderer.circle(Gdx.graphics.getWidth() / 2, Gdx.graphics.getHeight() / 2, Gdx.graphics.getWidth() / 20);
shapeRenderer.setColor(1,0,0,1);
shapeRenderer.end();

现在的问题是:从这样的事情开始,这是否是正确的方式?我阅读了 LIBGDX 中的其他类,例如 circle 和 body,但由于实际上没有任何关于这些的教程,而且我是初学者,所以我真的不知道这里需要使用哪个类。当然,我以后需要无限墙,墙和球都应该发生碰撞(我想是吗?)但我真的不知道该怎么做。

我很感激任何能帮助我更多地了解 LIBGDX 的回答。提前致谢!

最佳答案

您必须将问题分解成更小的步骤。

首先,让您的绘图工作。您使用 ShapeRenderer 是正确的,有关如何使用该类(以及许多其他类)的更多信息可以在 the libGDX API 中找到和 the libGDX wiki .你能在屏幕中央画一个圆圈吗?

一旦你的绘图工作了,然后担心动画。你能让圆圈在屏幕上弹跳吗?您可以使用非常基本的 if 语句来确定圆圈何时触及屏幕边缘,并且可以使用相同的逻辑在屏幕的每一侧添加“墙”。这里确实不需要 Box2D。

这样想:您实际上不需要无限的墙,您只需要让它看起来像您做的那样。您可以通过简单地在屏幕两侧绘制墙壁装饰并每帧将它们向下移动一点来实现。

既然你问了,Circle class 只是一个包含圆信息的类:它的位置和半径。该类还包含用于测试圆是否与圆相交、是否包含点等的函数。因此您可以将此类与其他代码一起使用,但不是必须的。

同样,CircleShape class 是另一个与 Box2D 一起工作的类,Box2D 是 libGDX 附带的物理引擎。尽管您最终可能会使用 Box2D,但我绝对不建议您在掌握基础知识之前使用它。

关于java - 如何在 libgdx 中创建带有碰撞和球的随机和无限墙?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30349661/

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