public class ClickListener extends InputListener
tap square
. This behavior
makes it easier to press buttons on a touch interface when the initial touch happens near the edge of the actor. Double clicks
can be detected using getTapCount()
. Any touch (not just the first) will trigger this listener. While pressed, other
touch downs are ignored.Modifier and Type | Field and Description |
---|---|
static float |
visualPressedDuration
Time in seconds
isVisualPressed() reports true after a press resulting in a click is released. |
Constructor and Description |
---|
ClickListener()
Create a listener where
clicked(InputEvent, float, float) is only called for left clicks. |
ClickListener(int button) |
Modifier and Type | Method and Description |
---|---|
void |
cancel()
If a touch down is being monitored, the drag and touch up events are ignored until the next touch up.
|
void |
clicked(InputEvent event,
float x,
float y) |
void |
enter(InputEvent event,
float x,
float y,
int pointer,
Actor fromActor)
Called any time the mouse cursor or a finger touch is moved over an actor.
|
void |
exit(InputEvent event,
float x,
float y,
int pointer,
Actor toActor)
Called any time the mouse cursor or a finger touch is moved out of an actor.
|
int |
getButton() |
int |
getPressedButton()
The button that initially pressed this button or -1 if the button is not pressed.
|
int |
getPressedPointer()
The pointer that initially pressed this button or -1 if the button is not pressed.
|
int |
getTapCount()
Returns the number of taps within the tap count interval for the most recent click event.
|
float |
getTapSquareSize() |
float |
getTouchDownX() |
float |
getTouchDownY() |
boolean |
inTapSquare()
Returns true if a touch is within the tap square.
|
boolean |
inTapSquare(float x,
float y) |
void |
invalidateTapSquare()
The tap square will no longer be used for the current touch.
|
boolean |
isOver()
Returns true if the mouse or touch is over the actor or pressed and within the tap square.
|
boolean |
isOver(Actor actor,
float x,
float y)
Returns true if the specified position is over the specified actor or within the tap square.
|
boolean |
isPressed()
Returns true if a touch is over the actor or within the tap square.
|
boolean |
isVisualPressed()
Returns true if a touch is over the actor or within the tap square or has been very recently.
|
void |
setButton(int button)
Sets the button to listen for, all other buttons are ignored.
|
void |
setTapCount(int tapCount) |
void |
setTapCountInterval(float tapCountInterval) |
void |
setTapSquareSize(float halfTapSquareSize) |
void |
setVisualPressed(boolean visualPressed)
If true, sets the visual pressed time to now.
|
boolean |
touchDown(InputEvent event,
float x,
float y,
int pointer,
int button)
Called when a mouse button or a finger touch goes down on the actor.
|
void |
touchDragged(InputEvent event,
float x,
float y,
int pointer)
Called when a mouse button or a finger touch is moved anywhere, but only if touchDown previously returned true for the
mouse button or touch.
|
void |
touchUp(InputEvent event,
float x,
float y,
int pointer,
int button)
Called when a mouse button or a finger touch goes up anywhere, but only if touchDown previously returned true for the mouse
button or touch.
|
handle, keyDown, keyTyped, keyUp, mouseMoved, scrolled
public static float visualPressedDuration
isVisualPressed()
reports true after a press resulting in a click is released.public ClickListener()
clicked(InputEvent, float, float)
is only called for left clicks.ClickListener(int)
public ClickListener(int button)
setButton(int)
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button)
InputListener
touch focus
, so it will receive all touchDragged and
touchUp events, even those not over this actor, until touchUp is received. Also when true is returned, the event is
handled
.touchDown
in class InputListener
InputEvent
public void touchDragged(InputEvent event, float x, float y, int pointer)
InputListener
handled
.touchDragged
in class InputListener
InputEvent
public void touchUp(InputEvent event, float x, float y, int pointer, int button)
InputListener
handled
.touchUp
in class InputListener
InputEvent
public void enter(InputEvent event, float x, float y, int pointer, @Null Actor fromActor)
InputListener
enter
in class InputListener
fromActor
- May be null.InputEvent
public void exit(InputEvent event, float x, float y, int pointer, @Null Actor toActor)
InputListener
exit
in class InputListener
toActor
- May be null.InputEvent
public void cancel()
public void clicked(InputEvent event, float x, float y)
public boolean isOver(Actor actor, float x, float y)
public boolean inTapSquare(float x, float y)
public boolean inTapSquare()
public void invalidateTapSquare()
public boolean isPressed()
public boolean isVisualPressed()
public void setVisualPressed(boolean visualPressed)
public boolean isOver()
public void setTapSquareSize(float halfTapSquareSize)
public float getTapSquareSize()
public void setTapCountInterval(float tapCountInterval)
tapCountInterval
- time in seconds that must pass for two touch down/up sequences to be detected as consecutive
taps.public int getTapCount()
public void setTapCount(int tapCount)
public float getTouchDownX()
public float getTouchDownY()
public int getPressedButton()
public int getPressedPointer()
public int getButton()
setButton(int)
public void setButton(int button)
Input.Buttons.LEFT
. Use -1 for any button.Copyright © 2021. All rights reserved.