2015-05-09 83 views
1

我有2個類; A和B.Libgdx渲染一個新對象

A是字符類,它包含每個字符的細節(位置...) B是獲得A類和渲染的類。當我觸摸屏幕時,我需要創建另一個對象。我明白了,這個班級似乎包含了新的價值觀,但它並沒有對它們進行渲染。

for (A a: aa) { 
    shapeRenderer.begin(ShapeType.Filled); 
    shapeRenderer.setColor(Color.RED); 
     shapeRenderer.circle(a.getBoundingCircle().x, a.getBoundingCircle().y, a.getBoundingCircle().radius); 
    shapeRenderer.end(); 
    } 

回答

0

建議使用最好的名稱。 你確定a.getBoundingCircle()包含正確的數據,並且你確定在aa中有對象A並且你的程序在for內部加入?

,我不看b

+0

B是包含我發佈的代碼的類。 aa是一個靜態列表,每次構造函數運行時它都會被添加到aa(它在B類中) – user4789408

0

好吧,你的問題是新的值不被renderized。 兩個選項: 您不是在運行渲染對象的循環。 您的新值不在屏幕上。

當您獲得觸摸事件的位置時,您將獲得screenx和screeny,而不是遊戲相機coordenates,並且您需要將其轉換爲未投影。 例如:

Vector3 touchPos = new Vector3(Gdx.input.getX(), Gdx.input.getY(), 0); 
camera.unproject(touchPos); 

touchPos現在是在遊戲coordenates。

+0

新對象的創建方式與第一個 – user4789408