I've been browsing these forums for a while now and I nearly always am able to find an answer without having to ask my own question! Such a great community!
This is the first time I've been stumped so I hope that someone can help me, I'm just learning libgdx so any help is appreciated I know the code is rough but please be gentle as I'm learning everyday!!! :)
I'm trying to create 6 shapes with inputlisteners which eventually will return the index of the shape which will correspond to an answer, but I can only seem to get the last input listener I create to actually fire...
public Panel(final int count){
this.count = count;
img = new Texture("badlogic.jpg");
handlerShapeVertices = new float[]{128,30,0,256,256,256};
handlerShape = new Polygon(handlerShapeVertices);
triangle = new PolygonRegion(new TextureRegion(img), handlerShapeVertices,new short[]{0, 1, 2});
triangleSprite = new PolygonSprite(triangle);
triangleSprite.setOrigin(img.getWidth()/2,30);
triangleSprite.setX(x);
triangleSprite.setY(y);
triangleSprite.setRotation(count * 60);
handlerShape.setOrigin(triangleSprite.getOriginX(), triangleSprite.getOriginY());
handlerShape.setPosition(x, y);
handlerShape.rotate(count * 60);
setBounds(x,y, 256, 256);
addListener(new InputListener(){
public boolean touchDown (InputEvent event, float xP, float yP, int pointer, int button) {
//float [] temp = handlerShape.getTransformedVertices();
if(resourceManager.getInstance().interSector.isPointInPolygon(handlerShape.getVertices(),0,6,xP,yP)) {
System.out.println("CLICK INSIDE : " + count);
}
return true;
}
});
}
I figured the polygon.getTransformedVertices() should work and to check they were correct I drew them in as you can see by the white lines surrounding the polygonsprites however it doesn't seem to and none of the listeners are actually fired when I use that... I'm completely stumped and hope someone has some insight or can point me in the right direction? I don't want someone to write my code for me but a pointer would be greatly appreciated!