這是非常基本的,但我無法弄清楚發生了什麼問題。基本上我試圖圍繞我的一個對象的某個區域繪製一個圓圈。我已經在構造函數中初始化了一個ShapeRenderer
(稱爲srDebugCircle),並在render()
方法中爲此循環繪製了每個對象。試圖在LibGDX中繪製一個圈子
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()) – Theyouthis 2015-03-13 15:08:17
您必須在繪製圓之前設置顏色。 – 2015-03-13 15:08:32