Хорошо, поэтому при создании игры в свободное время я полностью застрял при попытке обойти следующий сценарий:
Я хочу записать события касания (TouchEvent.ACTION_DOWN
), а затем с интервалом в 500 мс я хочу проверить, все еще ли нажат экран, и повторить то же действие до бесконечности.
Итак, я начал с:
switch (myTouchHandler.getAction()) {
case (TouchEvent.ACTION_DOWN):
case (TouchEvent.ACTION_MOVE):
if (inputIntervalTooSoon()) return true;
//do the magic i intend to do....
}
....
private boolean inputIntervalTooSoon() {
final long now = System.currentTimeMillis();
if ((now - lastTouchEventTime) < 500) return false;
lastTouchEventTime = now;
return true;
И это производит эффект, что Он будет ждать 500 мс, но он не начинает сразу обнаруживать, если мой палец все еще вниз. Он снова поднимет его, если я слегка пошевелю пальцем, а затем вернусь в состояние покоя.
Если я не включил функцию «Интервал», мое действие просто срабатывает постоянно. Будем весьма благодарны за любые идеи о том, как лучше реализовать это.