DualShock
offline
Опыт:
4,983Активность: |
не линейное движение
Вот пример обычного движения дамми по линии:
((код jass
... private static method Move takes nothing returns nothing local thistype this = GetTimerData(GetExpiredTimer()) if .range > 0. then set .range = .range - SPEED set .sfx.x = .sfx.x + SPEED * Cos(.angle) set .sfx.y = .sfx.y + SPEED * Sin(.angle) ... else ... call ReleaseTimer(.tim) call .destroy() endif endmethod ... )) Но мне нужно реализовать полет дамми не по линии, а по волнистой траектории ( как синусоида, см. скрин). Как это лучше сделать (желательно без гемора) |
04.08.2012, 12:20 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
16GB
GhostOne User
offline
Опыт:
60,317Активность: |
гляди спелл там вроде как похоже даммики движутся экспериментируй с углами
и глянь эту тему
Отредактировано Nerevar, 04.08.2012 в 12:38. |
04.08.2012, 12:31 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Nerevar
I'll be back!
offline
Опыт:
18,352Активность: |
DualShock, это траектория сверху? если да - то
я юзаю способ,когда добавляется пара координат,чтобы отслеживать движение если бы оно было по прямой,а дальше относительно ее сдвигать если смотреть по картинке то синусоида будет состоять из двух смещений по горизонтали -
и по вертикали
Тут синусоида будет зависеть от пройденного расстояния(distance),Max - максимальная амплитуда синусоиды соответственно будешь двигать в координаты .sfx.x\.sfx.y |
04.08.2012, 12:32 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|