【发布时间】:2014-08-11 01:52:01
【问题描述】:
我正在制作一个 2d 无尽的跑步游戏。我有一个由许多块组成的平台。每个块都有以下三种颜色之一:红色、蓝色、绿色。我不确切知道如何在运行时随机使用不同颜色的块。我使用了一个数组来存储块矩形,例如 wiki 页面上的示例 Drop(Simple game)。在渲染类中,我有这段代码可以在运行时更改块的颜色:
public void drawBlock() {
TextureRegion region = new TextureRegion();
for (Rectangle rec : colorBlock.getBlocksRec()) {
if (colorBlock.isRed()) {
region = red;
}
if (colorBlock.isGreen())
region = green;
if (colorBlock.isBlue())
region = blue;
batch.draw(region, rec.x, rec.y, rec.width, rec.height);
}
}
但它似乎失败了,因为它将屏幕上的所有块同时变为一种颜色。
我在让方块连续移动时也遇到了一些问题。他们移动了,但看起来就像数百个街区相互重叠。我不知道如何以正确的方式控制块。我使用 TimeUtils 检查下一个块应该何时创建,但完全失败了。
【问题讨论】:
-
不,我刚刚使用矩形重叠进行碰撞,使用 Vector2 进行移动对象。另外,我不使用 Tiled 地图,因为我想在没有关卡的情况下进行无尽的奔跑。谢谢你的回复:)
标签: libgdx