{"id":5912,"date":"2014-04-09T01:50:16","date_gmt":"2014-04-09T01:50:16","guid":{"rendered":"https:\/\/unknownerror.org\/index.php\/2014\/04\/09\/libgdx-inputprocessor-how-to-create-one-new-object-per-android-touch-collection-of-common-programming-errors\/"},"modified":"2014-04-09T01:50:16","modified_gmt":"2014-04-09T01:50:16","slug":"libgdx-inputprocessor-how-to-create-one-new-object-per-android-touch-collection-of-common-programming-errors","status":"publish","type":"post","link":"https:\/\/unknownerror.org\/index.php\/2014\/04\/09\/libgdx-inputprocessor-how-to-create-one-new-object-per-android-touch-collection-of-common-programming-errors\/","title":{"rendered":"libGDX InputProcessor: How to create one new object per android touch?-Collection of common programming errors"},"content":{"rendered":"<li>\n<p>How do I fix it?<\/p>\n<pre><code>\/*experiment*\/\npublic Vector3 tps[] = new Vector3[2];\n\/*experiment*\/\n\n@Override\npublic boolean touchDown(int screenX, int screenY, int pointer, int button) {\n\n\/*experiment*\/\nif(pointer &lt; 2){\n    if(pointer == 0) {\n        Vector3 touchPosition1 = new Vector3();\n        tps[pointer] = touchPosition1;\n        tps[pointer].set(screenX, screenY, 0);\n        gameScreen.getWorldRenderer().getCamera().unproject(tps[pointer]);\n        touchPoint1 = new TouchPoint(52, 52, new Vector2(tps[pointer].x - 26, tps[pointer].y - 26));\n        gameScreen.getWorld().getTouchPoints().add(touchPoint1);\n\n        Gdx.app.log(\"TOUCH DOWN\", \"pointer: \" + pointer + \" x: \" + tps[pointer].x + \" y: \" + tps[pointer].y);\n    }\n\n    if(pointer == 1) {\n    Vector3 touchPosition2 = new Vector3();\n    tps[pointer] = touchPosition2;\n    tps[pointer].set(screenX, screenY, 0);\n    gameScreen.getWorldRenderer().getCamera().unproject(tps[pointer]);\n    touchPoint2 = new TouchPoint(52, 52, new Vector2(tps[pointer].x - 26, tps[pointer].y - 26));\n    gameScreen.getWorld().getTouchPoints().add(touchPoint2);\n\n    Gdx.app.log(\"TOUCH DOWN\", \"pointer: \" + pointer + \" x: \" + tps[pointer].x + \" y: \" + tps[pointer].y);\n    }\n\n}\n\nreturn false;\n}\n\n@Override\npublic boolean touchUp(int screenX, int screenY, int pointer, int button) {\n\/*experiment*\/\ngameScreen.getWorld().getTouchPoints().removeIndex(pointer);\n\/\/note: dispose of unused vector3 objects\n\/\/note: dispose of all other unused objects\n\/*experiment*\/\n\nreturn false;\n}\n\n@Override\npublic boolean touchDragged(int screenX, int screenY, int pointer) {\n\/*experiment*\/\ntps[pointer].set(screenX, screenY, 0);\ngameScreen.getWorldRenderer().getCamera().unproject(tps[pointer]);\n\nfor(TouchPoint tp: gameScreen.getWorld().getTouchPoints()) {\n    tp.moveRectangleToPosition(new Vector2(tps[pointer].x - 26, tps[pointer].y - 26));\n    tp.updateRectangleBoundaries();\n}\n\nGdx.app.log(\"TOUCH DRAGGING\", \"pointer: \" + pointer + \" x: \" + tps[pointer].x + \" y: \" + tps[pointer].y);\n\/*experiment*\/\n\n}  \n<\/code><\/pre>\n<\/li>\n","protected":false},"excerpt":{"rendered":"<p>How do I fix it? \/*experiment*\/ public Vector3 tps[] = new Vector3[2]; \/*experiment*\/ @Override public boolean touchDown(int screenX, int screenY, int pointer, int button) { \/*experiment*\/ if(pointer &lt; 2){ if(pointer == 0) { Vector3 touchPosition1 = new Vector3(); tps[pointer] = touchPosition1; tps[pointer].set(screenX, screenY, 0); gameScreen.getWorldRenderer().getCamera().unproject(tps[pointer]); touchPoint1 = new TouchPoint(52, 52, new Vector2(tps[pointer].x &#8211; 26, tps[pointer].y [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-5912","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts\/5912","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/comments?post=5912"}],"version-history":[{"count":0,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts\/5912\/revisions"}],"wp:attachment":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/media?parent=5912"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/categories?post=5912"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/tags?post=5912"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}