Форум » Вопрос-Ответ » Ходьба по бокам » Ответить

Ходьба по бокам

BANKIR: я делаю игру от первого лица на ультимате. у мну для ходьбы в бок такой код: x+=cos((direction-90)*pi/180) y-=sin((direction-90)*pi/180) а в другой соответственно x+=cos((direction+90)*pi/180) y-=sin((direction+90)*pi/180) как регулировать скорость ходьбы?

Ответов - 14

Ev-genius: попробуй домножить результаты косинусов и синусов на некий кофицент. результат в сумме ведь даёт единицу, её и умножаешь =)

BANKIR: Спасибо! +1

Lagevae: Лучше бы ты использовал lengthdir'ы, они работают быстрее и удобнее.


zuko: и правда намудрил есть стандартные вещи такие как speed, direction и friction

Ev-genius: да они по этим же формулами и действуют =) там теже синусы, косинусы и переводы радианы-углы поэтому работать должны одинаково - скорость зависит от непохожести вариаций и практически незаметна. кому как удобно в принципе, ктото ищет функцию в мануале, а кто выведет эту функцию сам, главное чтобы получалось то что задумываешь =)

zuko: ну дак я о чем=)

Lagevae: Не, просто lengthdir'ы они сами по себе быстрее работают, чем формулы.

Ev-genius: Lagevae пишет: Не, просто lengthdir'ы они сами по себе быстрее работают, чем формулы. не, я понимаю что это уже не потеме, фсётаки мы те ещё флудеры но всёравно, тотже ленгдир внутри себя также вызывает теже синусы. работать быстрее он никак не может... также(если алгоритм одинаков) или медленнее(если туда присобачены излишества). поэтому если нужна производительность аж каждую миллисекунду пишут сразу синус, без лишних операций =) нежели какуюнить функцию где ещё есть лишние вычисления практически: на 4000 шагов цикла ленгдир отстаёт на 1миллисекунду от того простого юзания формулы. на 10000шагов цикла ленгдир отстаёт на 16миллисекунд. это потому что формула работает с единицей как результирующей длиной, а ленгдир со входной длиной и полюбому домножает. правда хз что она там ещё делает) хотя да, ленгдиры пишутся быстрее, буков меньше и знаний математики ненада многа есть пример, когда n*tan(x) работает медленне чем ntan(x,n)... Но это только потому как в функции умножение разложено, формулы тоже с умом надо применять =) думаю ничья

Lagevae: Тык, lengthdir - прекомпилированная функция, потому и быстрее (не совсем понимаю что это значит, то есть понимаю, но объяснить не могу; читал на другом форуме про это). Ну если ты не поймёшь, я поищу и объясню полностью, но думаю, ты-то должен понять

Ev-genius: я знаю что это значит, но хз, мну кажется это не в ту степь =) синус и косинус там также юзается, внесено только выражение, на счёт быстрее: скорость простых ф-ций явно выше, но разница там в миллисикундах на тысячи шагов в каждом фрейме. а именно-ничножно мала, но она есть, тк простые функции работают быстрее чем сложные, которые и включают в себя эти же простые ф-ции =)

Lagevae: Ev-genius пишет: я знаю что это значит, но хз, мну кажется это не в ту степь =) синус и косинус там также юзается, внесено только выражение, на счёт быстрее: скорость простых ф-ций явно выше, но разница там в миллисикундах на тысячи шагов в каждом фрейме. а именно-ничножно мала, но она есть, тк простые функции работают быстрее чем сложные, которые и включают в себя эти же простые ф-ции =)Ну вот, а если пишется быстрее, и всё же быстрее, то удобство и скорость, это же выгоднее использовать)

Ev-genius: эх, это из серии: зачем мне подходить к дереву чтоб сорвать яблоко, если я могу посадить вторую яблоню рядом с собой, взрастить её, и когда начнёт давать плоды сорвать себе яблоко))) идти никуда не придётся, так же быстрее))))) вооот. пишется быстрее если с математикой реально туго, тогда покопаешься в мануале и найдёшь, ну или уже о ф-ции знаешь.. а если с геометрией намана то проще Элементарно синус косинус вписать чем юзать чтото награмаждённое)) Определения син-кос ведь знаем? )))))) ненадо юзать левое где в глубине есть то что тебе нужно.. просто берешь и юзаешь то что надо) что собственно и сделано было вверху =) а на счёт работает быстрее то я уже с двух сторон объяснил что, нифига не быстрее, даже цифры привел =) потому что проще запустить начинку урезаную -то что надо, чем функцию с пахожей начинкой + левыми вычислениями короче лана-закругляемся, главное челу проблему решили

BANKIR: мда... задал вопрос, а пошли такие споры

Ev-genius: задавай следующий вопрос, дальше спорить бум. в спорах рождается истина и знания =) если это конечно не холливар с флеймом



полная версия страницы