Физика бурундука: скоростной вопрос - PullRequest
1 голос
/ 31 мая 2010

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

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

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

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

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

потому что он просто рухнул бы на стены и прочее,

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

1 Ответ

0 голосов
/ 31 мая 2010

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

...