【发布时间】:2015-05-16 03:08:48
【问题描述】:
这真的很基本,但我不知道出了什么问题。基本上我试图在我的一个对象的某个区域周围画一个圆圈。我在构造函数中初始化了一个ShapeRenderer(称为srDebugCircle),并在render()方法中使用了这个for循环来绘制每个对象。
for (GameObject object : levels.get(LEVEL_INDEX)) {
if (object.getType() == ObjectType.SWINGING_SPIKES) {
object.draw(batch);
srDebugCircle.begin(ShapeType.Filled);
srDebugCircle.circle(object.getxPos() + object.getWidth()/2, object.getyPos(), object.getWidth()/2);
srDebugCircle.setColor(Color.BLACK);
srDebugCircle.end();
}
if (object.getType() == ObjectType.COIN && (Coin) object).isVisible()) {
object.draw();
}
...
}
问题是当我为圆圈添加代码时,我只看到 15 个对象中的 4 个。当我删除它/评论它时,它照常工作 - 但是,在这两种情况下,我永远看不到黑色实心圆圈。
我专门说这部分:
srDebugCircle.begin(ShapeType.Filled);
srDebugCircle.circle(object.getxPos() + object.getWidth()/2, object.getyPos(), object.getWidth()/2);
srDebugCircle.setColor(Color.BLACK);
srDebugCircle.end();
谁能明白我为什么会遇到这个问题?
【问题讨论】:
-
我认为您在引号之间缺少括号。也许不是原因。(object.getType() == ObjectType.COIN && "("(Coin) object).isVisible())
-
画圆前必须先设置颜色。
标签: java android libgdx 2d render