Физика бурундука: скоростной вопрос

Я делаю игру для iPhone, в которой главным действующим лицом является шар, который катится в зависимости от вращения акселерометра устройства.

Я еще не начал эту часть кодирования, но мне было интересно, у вас, ребята, есть хороший способ решить эту проблему:

Я попытался немного заглянуть в бурундука, и я заметил, что у тел есть свойство v, которое является точкой, содержащей скорости x и y.

Я думал, что было бы плохой идеей просто сделать так:

playerBody->v = ccp(accelerometer.x * 5, playerBody->v.y);

потому что это будет просто рулоны стен и тому подобное,

Есть ли лучшее решение для этого?

1 ответ

Решение

По сути, в идеально упругом столкновении (без потери энергии) со стеной, который, как я догадываюсь, является тем, что вы хотите, составляющая скорости, которая является нормальной (перпендикулярной) к стене, переворачивается (инвертируется). Тангенциальные компоненты остаются прежними. Например, если стена находится вдоль оси x, то v_y = -v_y. Я не использовал Бурундук, поэтому я не буду пытаться рассказать вам фактический синтаксис для этого.

Другие вопросы по тегам