0
我試圖讓玩家點擊按住然後拖動並放開,這將完成從你點擊的地方繪製一條線到你放開的位置。然而,我似乎無法弄清楚如何保持線條呈現。每次你點擊拖動,然後放開,它會正確繪製線條,然後如果你嘗試繪製另一條線條就會消失。這裏是我的輸入監聽器獲取位置通過單擊和取消點擊呈現多條線libgdx java
@Override
public boolean touchDown(int screenX, int screenY, int pointer, int button) {
if(button == Buttons.LEFT){
buttonPositions[0].x = screenX;
buttonPositions[0].y = screenY;
projector.unproject(buttonPositions[0]);
}
return false;
}
@Override
public boolean touchUp(int screenX, int screenY, int pointer, int button) {
if(button == Buttons.LEFT){
buttonPositions[1].x = screenX;
buttonPositions[1].y = screenY;
projector.unproject(buttonPositions[1]);
lineDraws.add(buttonPositions);
}
return false;
}
buttonPositions
代碼的size 2
Vector2
數組,所以你可以添加,你點擊,在那裏你放手那麼arraylist
lineDraws存儲了Vector2數組,然後我嘗試遍歷這個列表,並使其像這樣
public void render(float delta){
if(!tutOver){
startTutorial();
}
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
renderer.begin();
for(int i = 0; i < listener.getPositionsList().size() - 1; i+=2){
renderer.line(listener.getPositionsList().get(i)[0], listener.getPositionsList().get(i + 1)[1]);
}
renderer.end();
}
我不知所措,不知道該做什麼,而i+=2
是這樣就得出那麼接下來的兩個第一兩個座標。任何幫助是極大的讚賞!
非常好的工作非常感謝它的工作! – Luke
儘管我已經說過很好的工作,但投影機方法現在無法正常工作,任何幫助都將不勝感激 – Luke
投影機方法不起作用是什麼意思?你可以附上截圖和代碼 - 最好的將是屏幕類的完整代碼? –