Я пытаюсь добиться простого эффекта броска в as3:

Я кладу палец на экран, а затем смахиваю его, как будто бросаю какой-то предмет. Цель состоит в том, чтобы смоделировать движение мяча в соответствии с проведением (направление, скорость).

Какой жест использовать? Я пробовал TransformGestureEvent.GESTURE_SWIPE Но это просто дает мне направление (влево-вправо, вверху, внизу) и никакой скорости, силы или скорости.

С уважением

0
yarek 25 Дек 2013 в 23:19

1 ответ

Лучший ответ

Существует множество библиотек и фреймворков, которые обрабатывают сенсорный ввод и сложные жесты, вы можете найти их в Google и легко найти многие из них.

Вы также можете написать свой собственный простой процессор ввода, который предоставит вам желаемую информацию.

При прикосновении к началу установите значения для 3 переменных:

  • начать x
  • начать y
  • отметка времени

Получите начальную позицию либо в глобальной позиции экрана (вы можете получить к ней доступ из объекта TouchEvent в вашем обработчике), либо в InteractiveObject (например, Sprite) mouseX и mouseY, что даст вам относительное положение.
Отметку времени можно легко получить с помощью getTimer (), который также является самым быстрым способом получения отметки времени во Flash.

На сенсорном конце получить другие 3 переменные

  • конец х
  • конец у
  • отметка времени окончания

Зная разницу между позициями x и y и время, затраченное на выполнение жеста, вы сможете найти нужные данные - угол (с помощью тригонометрии или Math.atan2 ()), скорость, скорость, силу (по расстоянию между x, y или дельта времени или оба)

Надеюсь это ответит на твой вопрос!

1
Creative Magic 26 Дек 2013 в 05:04