我在執行代碼中的touchDown表示時遇到問題。
我使用迭代器在屏幕上運行表示球紋理的圓圈。 在下面的代碼中,我將所有不相關的部分切割爲當前用戶觸摸它時從屏幕上移除球\圓的問題。此刻,我調用該方法波紋管在我的渲染和使用:libGDX touchDown困難
int x1 = Gdx.input.getX();
int y1 = Gdx.input.getY();
Vector3 input = new Vector3(x1, y1, 0);
cam.unproject(input);
,並使用「輸入」作爲參數「ballsIterator(輸入);」。問題是我被告知爲了停止觸摸效果,我需要使用touchDown方法中的代碼。但我該怎麼做呢?這個方法的完整版本不得不放在render方法中,而不管是否有觸及效果,我嘗試實現InputProcessor並在touchDown方法中重複該方法的代碼,但沒有在render方法中調用它,所以它沒有沒有工作,當我試圖在渲染內部調用它時,我不知道用什麼參數來指定「int指針,int按鈕」...問題是,在完成上述所有操作後,如何使用touchDown方法在我的代碼?
private void ballsIterator(Vector3 input){
Iterator<Circle> iterBall = balls.iterator();
while (iterBall.hasNext()) {
Circle ball = iterBall.next();
if (dog.velocity.x != 0) {
if (ball.contains(input.x, input.y)) {
iterMeteor.remove();
}
} else {
iterMeteor.remove();
}
}
}
存儲'Vector3 touchPos'並將其設置在'touchDown':'touchPos = cam.unproject(new Vector3(screenX,screeny,0))'中。在'touchUp'中簡單地將它設置爲'null'並且在'render'中,您可以說'if(touchPos!= null)ballsIterator(touchPos);' – Springrbua 2014-11-14 14:21:04
刪除我的預覽評論,因爲我玩過,遵循你的解釋並設法實現我想要的。謝謝! – user3395989 2014-11-15 13:03:13
如果你解決了你的問題,你可以發佈解決方案作爲答案並接受它,它可以幫助其他人解決同樣的問題。 – Springrbua 2014-11-17 06:28:12