В этом посте я развиваю часть 3, заставляя монету лететь по дуге, прежде чем приземлиться в указанном месте и отвлечь охранников.

Цель сегодняшнего дня: улучшить подбрасывание монеты, бросая монету из руки в заданную точку.

Дизайн:

Я рассматривал 2 разных варианта «анимации» подбрасывания монеты по дуге:

  • Реальный метод: фактически создайте монету в руке и установите ее начальную скорость, чтобы бросить ее в точку.

Плюсы: реалистичность. Может ударить по физическим объектам во время броска, что приведет к непреднамеренному отвлечению внимания. Простой код. Простые визуальные эффекты.

Минусы: может ударить по физическим объектам во время броска, что приведет к непреднамеренному отвлечению внимания.

  • Фальшивый метод: создайте визуальный эффект (эффект частицы или аналогичный), который перемещается по дуге, а настоящая монета появляется, когда достигает конца.

Плюсы. Визуально интересно. Никаких взаимодействий между физикой и объектами. Всегда попадает в цель. Настраиваемый.

Минусы: сложнее в реализации. Наверное нереально.

В этом посте я расскажу о методе «Настоящий», который я в итоге использовал. Метод «Fake» будет в следующем посте в качестве альтернативного варианта.

Код:

При нажатии правой кнопки мыши я запускаю сопрограмму под названием «TossCoin()», которая позволяет мне управлять задержками между разными кодами во время подбрасывания. Он устроен следующим образом:

Чтобы пропустить полет монеты, я сделал так, чтобы она появлялась в точке Шага 8, но теперь она перемещается в точку Шага 4 до уже рассчитанного времени полета монеты.

Поскольку многие из этих шагов были выполнены в прошлых постах/можно сделать самостоятельно, я покажу новые вещи.

Для шага 4:

Для шага 8 и 9:

В итоге я остановился на дизайне, который, даже используя «настоящий» метод, всегда попадает в целевую точку (проходит сквозь другие объекты). Это не то, что я изначально планировал, и я, вероятно, изменю это позже, но у меня были некоторые трудности с неожиданными эффектами, возникающими из-за того, что монета ударялась о предметы в полете и приземлялась в непреднамеренных местах. Также иногда проваливается сквозь пол.