![]()
NCrashed
![]() ![]() offline
Опыт:
12,653Активность: |
Исправлены указанные выше косяки и добавлен раздел "Добавляем физические явления (удар об землю, трение и т.п.)" |
![]() |
#21
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
Van Damm
wait... what?
![]() ![]() offline
Опыт:
19,568Активность: |
Для этого можно статический конструктор обозвать new, например ) А статья теперь весьма хорошая. Думаю, можно добавлять в базу. |
![]() |
#22
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
NCrashed
![]() ![]() offline
Опыт:
12,653Активность: |
Van_Damm, хоть и пишу я на делфях, так и не привыкну к функции new перегрузил бы метод и все норм было бы, а в vJass такого не нашел Я ее закончил, если замечаний больше нет, добавляйте |
![]() |
#23
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
adic3x
![]() offline
Опыт:
99,989Активность: |
вопрос спорный, можно сначала изложить математику, а потом просто показать как ее применять все описанное тут совершенно верно с точки зрения ооп, но например постоянная аллокация и удаление 3 векторов - время, трата которого ничем не обоснованна
этим ты как раз и путаешь народ |
![]() |
#24
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
NCrashed
![]() ![]() offline
Опыт:
12,653Активность: |
В этой статье я рассказывал про удобства, которые дает vJass, а за удобство нужно платить.
Не нужно разжигать древний спор "удобство vs скородействие и малый вес " =)
не факт, так как иначе первому телу будет соответствовать sb[0], смещение на 1. + тогда надо будет в циклах идти до si - 1, лучше оставить нулевой элемент в покое. |
![]() |
#25
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
Daemonik
![]() ![]() offline
Опыт:
5,084Активность: |
ADOLF:
Согласен с этим, тк статья для самых новичков не предназначена. А не новички могут запутаться. |
![]() |
#26
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
NCrashed
![]() ![]() offline
Опыт:
12,653Активность: |
Ладно сделаем с нулевым элементом, уж лучше не спорил =) |
![]() |
#27
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
adic3x
![]() offline
Опыт:
99,989Активность: |
всю жизнь во всех нормальных языках индексирование было с 0, опять же проверять на 0xffffffff при необходимости, а что, я всегда так делаю |
![]() |
#28
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
NCrashed
![]() ![]() offline
Опыт:
12,653Активность: |
Как ни странно я тоже так всегда делаю ^^, только здесь решил отойти от традиции. Исправлено и карта перезалита. |
![]() |
#29
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
Sebra
![]() offline
Опыт:
5,603Активность: |
NCrashed:
Уж лучше бы set i=i+1 передвинул вверх за else. Падение отслеживаешь только по z<2. Совершенно не учитывается ландшафт. Добавил сухое трение - вышло отвратительно. Подучи физику.
|
![]() |
#30
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
Gomorrah
![]() offline
Опыт:
257Активность: |
жаль что прыгает не туда куда надо, а туда куда всегда
|
![]() |
#31
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
NCrashed
![]() ![]() offline
Опыт:
12,653Активность: |
Тогда на любом теле движок будет зацикливаться, уж лучше так. z[0,+беск] по опыту лучше отслеживать не z = 0, а z < 1-2 Это обучающая статья, а обсчет силы реакции опоры требует больше теории. Эту функцию просто счас вставлю из fdl.
А вот это не надо! В физико-математическом лицее учусь.
Реализация трения тут соответствует теории (кроме этого упрощения, расчетов в 2 раза меньше, а разница не заметна)
Этот кусочек статьи был вырезан, так как там уже сложные расчеты. Эх, сейчас вставлю... |
![]() |
#32
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
Gomorrah
![]() offline
Опыт:
257Активность: |
Код:
зачем ты обьявлял локалку рект? |
![]() |
#33
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
adic3x
![]() offline
Опыт:
99,989Активность: |
зачем кстате вообще юзать сравнение, еще и не с реал константами, а каждый раз звать функцию? |
![]() |
#34
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
ZeToX2007
![]() ![]() offline
Опыт:
7,009Активность: |
Лично я не юзаю структуры для движение, для создание и уничтожение требуется определённое время... куда быстрей юзать - GetUnitUserData и несколько масивов. ии ещё...
Цитата:
Что я говорил про это ? заменяй на переменные, и функция GetUnitX взывается не один раз, поэтому будет выгодней её занести в переменную. |
|
![]() |
#35
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
NCrashed
![]() ![]() offline
Опыт:
12,653Активность: |
Огрехи рассеивания внимания, исправлено
Юзер дата часто занята для других целей, структуры постоянно не уничтожаются и не создаются, это не понижает производительность. Тем более структуры помогают быстрее и легче делать системы. |
![]() |
#36
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
ZeToX2007
![]() ![]() offline
Опыт:
7,009Активность: |
Цитата:
Не спорю, это удобная вещь, каждый делает как ему удобнее...) а так если, кое что подправить, статейка будет норм. |
|
![]() |
#37
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
NCrashed
![]() ![]() offline
Опыт:
12,653Активность: |
Все предыдущие замечания исправлены, что еще подразумевается под "кое-что"? |
![]() |
#38
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
Sebra
![]() offline
Опыт:
5,603Активность: |
NCrashed:
Подними set i=i+1 вверх, выше ближайшего else, убери set i=i-1 и ничего не зациклится. Обработали одно тело - переходим к следующему. Он уже учитывается, или я ошибаюсь? Давай посмотрим, что тут у тебя :) тело не останется в покое направляешь силу трения вдоль действующей силы не считая вертикали. некорректные величина и направление тело остановится под действием силы трения некорректно - полностью игнорируем внешние силы всё бы ничего, но... сюда попадают случаи, когда тело остановится, но не сейчас это что??? проверка на положительность модуля? внешние силы игнорируем - они рассчитываются в другом месте
Чтобы нормально сделать сухое трение, его надо объединить с расчётом движения f>v>xyz.
Если с учётом внешних сил трение сможет остановить тело - остановить тело. Иначе - считаем скорости и перемещение с учётом сил трения вдоль скорости. Есть только два случая, а не три. Покой и движение. Конечно, всего не учтёшь. Да и важна не правдивость, а правдоподобность. Неужели в физико-математическом лицее тела движутся иначе, чем в провинциальной школе Советского Союза? |
![]() |
#39
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
![]()
NCrashed
![]() ![]() offline
Опыт:
12,653Активность: |
Логично, что сила терния покоя действует против результирующей силы всех остальных тел и что сила трения направлена параллельно поверхности трения (для упрощения взял эту плоскость всегда параллельной горизонту)
Случай, когда результирующая сила меньше силы трения, можно игнорить
На остальное отвечу позже |
![]() |
#40
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|