Package com.prineside.tdi2.scene2d.ui
Class Touchpad
java.lang.Object
com.prineside.tdi2.scene2d.Actor
com.prineside.tdi2.scene2d.ui.Widget
com.prineside.tdi2.scene2d.ui.Touchpad
- All Implemented Interfaces:
Layout
An on-screen joystick. The movement area of the joystick is circular, centered on the touchpad, and its size determined by the
smaller touchpad dimension.
The preferred size of the touchpad is determined by the background.
ChangeListener.ChangeEvent
is fired when the touchpad knob is moved. Cancelling the event will move the knob to where it was
previously.
- Author:
- Josh Street
-
Nested Class Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
If this method is overridden, the super method orWidget.validate()
should be called to ensure the widget is laid out.float
Returns the x-position of the knob as a percentage from the center of the touchpad to the edge of the circular movement area.float
Returns the y-position of the knob as a percentage from the center of the touchpad to the edge of the circular movement area.float
getKnobX()
Returns the x-position of the knob relative to the center of the widget.float
getKnobY()
Returns the y-position of the knob relative to the center of the widget.float
float
boolean
getStyle()
Returns the touchpad's style.hit
(float x, float y, boolean touchable) boolean
void
layout()
Computes and caches any information needed for drawing and, if this actor has children, positions and sizes each child, callsLayout.invalidate()
on any each child whose width or height has changed, and callsLayout.validate()
on each child.void
setDeadzone
(float deadzoneRadius) void
setResetOnTouchUp
(boolean reset) void
setStyle
(Touchpad.TouchpadStyle style) Methods inherited from class com.prineside.tdi2.scene2d.ui.Widget
getMaxHeight, getMaxHeightValue, getMaxWidth, getMaxWidthValue, getMinHeight, getMinHeightValue, getMinWidth, getMinWidthValue, getPrefHeightValue, getPrefWidthValue, invalidate, invalidateHierarchy, needsLayout, pack, setFillParent, setLayoutEnabled, setMaxHeight, setMaxHeight, setMaxWidth, setMaxWidth, setMinHeight, setMinHeight, setMinWidth, setMinWidth, setPrefHeight, setPrefHeight, setPrefWidth, setPrefWidth, validate
Methods inherited from class com.prineside.tdi2.scene2d.Actor
act, addAction, addCaptureListener, addListener, ancestorsVisible, ascendantsVisible, clear, clearActions, clearListeners, clipBegin, clipBegin, clipEnd, debug, drawDebug, fire, firstAscendant, getActions, getCaptureListeners, getColor, getDebug, getHeight, getListeners, getName, getOriginX, getOriginY, getParent, getRight, getRotation, getScaleX, getScaleY, getStage, getTop, getTouchable, getUserObject, getWidth, getX, getX, getY, getY, getZIndex, hasActions, hasKeyboardFocus, hasParent, hasScrollFocus, isAscendantOf, isDescendantOf, isTouchable, isTouchFocusListener, isTouchFocusTarget, isVisible, localToActorCoordinates, localToAscendantCoordinates, localToParentCoordinates, localToScreenCoordinates, localToStageCoordinates, moveBy, notify, parentToLocalCoordinates, remove, removeAction, removeCaptureListener, removeListener, rotateBy, scaleBy, scaleBy, screenToLocalCoordinates, setBounds, setColor, setColor, setDebug, setHeight, setName, setOrigin, setOrigin, setOriginX, setOriginY, setPosition, setPosition, setRotation, setScale, setScale, setScaleX, setScaleY, setSize, setTouchable, setUserObject, setVisible, setWidth, setX, setX, setY, setY, setZIndex, sizeBy, sizeBy, stageToLocalCoordinates, toBack, toFront, toString
-
Constructor Details
-
Touchpad
- Parameters:
deadzoneRadius
- The distance in pixels from the center of the touchpad required for the knob to be moved.
-
-
Method Details
-
setStyle
-
getStyle
Returns the touchpad's style. Modifying the returned style may not have an effect untilsetStyle(TouchpadStyle)
is called. -
hit
Description copied from class:Actor
Returns the deepestvisible
(and optionally,touchable
) actor that contains the specified point, or null if no actor was hit. The point is specified in the actor's local coordinate system (0,0 is the bottom left of the actor and width,height is the upper right).This method is used to delegate touchDown, mouse, and enter/exit events. If this method returns null, those events will not occur on this Actor.
The default implementation returns this actor if the point is within this actor's bounds and this actor is visible.
- Overrides:
hit
in classActor
touchable
- If true, hit detection will respect thetouchability
.- See Also:
-
layout
public void layout()Description copied from interface:Layout
Computes and caches any information needed for drawing and, if this actor has children, positions and sizes each child, callsLayout.invalidate()
on any each child whose width or height has changed, and callsLayout.validate()
on each child. This method should almost never be called directly, insteadLayout.validate()
should be used. -
draw
Description copied from class:Widget
If this method is overridden, the super method orWidget.validate()
should be called to ensure the widget is laid out. -
getPrefWidth
public float getPrefWidth()- Specified by:
getPrefWidth
in interfaceLayout
- Overrides:
getPrefWidth
in classWidget
-
getPrefHeight
public float getPrefHeight()- Specified by:
getPrefHeight
in interfaceLayout
- Overrides:
getPrefHeight
in classWidget
-
isTouched
public boolean isTouched() -
getResetOnTouchUp
public boolean getResetOnTouchUp() -
setResetOnTouchUp
public void setResetOnTouchUp(boolean reset) - Parameters:
reset
- Whether to reset the knob to the center on touch up.
-
setDeadzone
public void setDeadzone(float deadzoneRadius) - Parameters:
deadzoneRadius
- The distance in pixels from the center of the touchpad required for the knob to be moved.
-
getKnobX
public float getKnobX()Returns the x-position of the knob relative to the center of the widget. The positive direction is right. -
getKnobY
public float getKnobY()Returns the y-position of the knob relative to the center of the widget. The positive direction is up. -
getKnobPercentX
public float getKnobPercentX()Returns the x-position of the knob as a percentage from the center of the touchpad to the edge of the circular movement area. The positive direction is right. -
getKnobPercentY
public float getKnobPercentY()Returns the y-position of the knob as a percentage from the center of the touchpad to the edge of the circular movement area. The positive direction is up.
-