As @chase said you are recursivelly calling the fire(even)
method, as you can only set 1 InputProcessor (your stage
) and so always the same method recieves the event.
You should instead use a InputMultiplexer
:
- add the
Stage
and yourApplicationListener
asInputProcessor
to theInputMultiplexer
- Set the
InputMulitplexer
as theInputProcessor
by callingGdx.input.setInputProcessor(multiplexer);
.
The InputMultiplexer
will then give the event to the first InputProcessor
and if it returns false, it will send the event to the next one.
So in your Stage
you just need to return false.
But i don't understand why you are adding your Stage
as a InputProcessor
if you don't want it to handle inputs...
Anyways in scene2d you don't need to add an InputProcessor
to the stage as it allready has one. Also the Actor
allready has a boolean touchDown(float x, float y, int pointer)
and other helpful methods.
A useful link: Scene2D wiki article