У меня есть нисходящая игра для iPhone (без гравитации), и я использую Cocos2d и Box2d.
Я пытаюсь переместить пулю по этому коду:
// 'targetPosition' is a point of touch
b2Vec2 touchInWorld = b2Vec2(targetPosition.x/PTM_RATIO, targetPosition.y/PTM_RATIO);
b2Vec2 direction = b2Vec2(touchInWorld.x - ballBodyDef.position.x, touchInWorld.y - ballBodyDef.position.y);
b2Vec2 force = b2Vec2(direction.x, direction.y);
force.Normalize();
ballBody->ApplyLinearImpulse(force, ballBodyDef.position);
Проблема в том, что мяч быстро движется, если спрайт маленький (10x10 пикселей).* Если спрайт 50х50, то скорость меньше и выглядит нормально.
Это сводит меня с ума, потому что я вообще не могу контролировать скорость.
И не только это, если яне прикладывайте силу. Нормализуйте (), скорость отличается в зависимости от направления касания ...
Все работало замечательно, когда я использовал только Cocos2d и анимацию.Я пытался использовать Box2d для реализации столкновений, но мне кажется, что это ОГРОМНОЕ количество усилий, и я собираюсь заняться физикой самостоятельно: (