@Override public boolean pointerAdded(final Pointer p) { if (pad.contains(p.x, p.y)) { touch = p; stick.setPosition(p.x, p.y); stick.pointerAdded(p); return true; } return false; }
/** * @param x left edge of area * @param y lower edge of area * @param width * @param height * @param stickRadius radius of stick that appears */ public TouchStickArea( final float x, final float y, final float width, final float height, final float stickRadius) { pad.set(x, x + width, y, y + height); stick = new TouchStick(x, y, stickRadius); // redirect clicks to our listener stick.listener = new ClickListener() { @Override public void onClick() { if (listener != null) { listener.onClick(); } } @Override public void onClickHold(final boolean active) { if (listener != null) { listener.onClickHold(active); } } }; }
@Override public void pointerRemoved(final Pointer p) { if (p == touch) { stick.pointerRemoved(p); touch = null; } }
@Override public void advance() { stick.advance(); x = stick.x; y = stick.y; }
@Override public void reset() { touch = null; stick.reset(); }