Как я могу заставить тело box2d двигаться в режиме синусоидального типа? Я считаю, что это потребует применения некоторых сил для перемещения по пути кривой синуса, но я не знаю, как это сделать. Я бы очень признателен за любые рекомендации, чтобы сделать это возможным.Создание корпуса box2d в движении с синусоидальным движением
ответ
Я не пробовал, но решение для мыши, представленное в Making a Box2d object follow a predetermined path, кажется элегантным и должно работать.
У вас может быть небольшая задержка на ходу, но она будет казаться более «естественной».
Если вам нужен точный ход, посмотрите: making a box2d body move along a Bezier curve/ arc path, но физика может быть «повреждена».
Я предполагаю, что ваш являются числовая физика, имитируя: v = v + a * dt, x = x + v * dt
с dt
фиксированным шагом времени и a
построенного по сумме сил, деленная на его массу (F = т * а). В этом случае существует несколько способов достижения синусоидального движения. Вы можете применить синусоидальную силу, поскольку синусоидальная функция обладает тем свойством, что она будет только сдвигать фазу, когда вы ее интегрируете/дифференцируете. Или вы можете моделировать simple harmonic motion как система с пружинными пружинами, в которой сила пропорциональна отрицательному расстоянию от объекта до определенной точки.
- 1. , делающий коробку2d движением тела в спиральном движении
- 2. Манипулирование движением спрайтов в box2d
- 3. Закрепление корпуса box2d
- 4. Нестандартная форма корпуса или корпуса Box2d
- 5. Корпуса многоугольника Box2D не вращаются
- 6. Вращение корпуса Box2d не работает
- 7. Движение корпуса Box2d в cocos2d-x
- 8. Ограничение на скорость корпуса box2d в libgdx
- 9. Box2d Тело следить за движением мыши
- 10. Сенсорное событие на определенной площади корпуса box2d
- 11. Постепенно замедление линейной скорости корпуса box2d
- 12. Создание нового корпуса с NLTK
- 13. Создание массива Box2D тела
- 14. Спрайты, снятые с корпуса box2D на устройстве отображения сетчатки
- 15. Создание сложных форм с box2d
- 16. Telegram Bot с движением AI
- 17. Box2D создание небольших отверстий
- 18. Создание подписи в дорожном движении транспортного средства.
- 19. Box2D Создание мира
- 20. Снятие корпуса с коробкой2D
- 21. Создание DTM из большого корпуса
- 22. Создание кода корпуса Camel с swagger
- 23. создание корпуса в фиксированном месте в Physicsjs
- 24. Создание подмножества слов из корпуса в R
- 25. Создание корпуса из данных в пользовательском формате
- 26. Создание гладкой анимации при движении из массива
- 27. Создание новой переменной в блоке корпуса Scala?
- 28. Управление движением мыши
- 29. Создание libBox2D.a при сборке Box2D?
- 30. Управление движением без GPS
Вы можете применить свойство силы синуса к силе тела, чтобы оно колебалось между 1 и -1 – LearnCocos2D
@ LearnCocos2D: Я был бы очень признателен за код этого – oopology
Я не знаю box2d, поэтому я сделаю это замечанием. Вы знаете, как применить силу к телу? Вы знаете, как генерировать синусоидальную волну (т. Е. «Sin (t)» для t = 0,01, 0,02, 0,03 ...)? Интересным свойством синусоидальных волн является то, что синусоидальная сила * производит синусоидальное * движение * (в отличие, скажем, от квадратной волны). – Beta