我想预测一个足球的射弹轨迹,就像在农场足球www.crazygames.com/game/farm-soccer游戏中一样。 一旦球被释放,我就制造了不包括反弹的射弹轨迹。
请有人建议我。 这是描绘我想要什么的图像(请注意用红点制作的抛射路径)
以下是我现在写的代码:(感谢iforce2d.net)
void drawtrajectory(){
for (int i = 1; i <= 30; i++) {
b2Vec2 trajectoryPosition = getTrajectoryPoint(Utility::toMeters(catapult->getPosition()), startVelocity, -i*3);
CCSprite* dot = CCSprite::create("dot.png");
dot->setScale(0.3f);
addChild(dot, 20,555);
dot->setPosition(Utility::toPixels(trajectoryPosition));
}
}
b2Vec2 getTrajectoryPoint(b2Vec2 startingPosition,b2Vec2 startingVelocity,float n)
{
float t = 1 / 60.0f;
b2Vec2 stepVelocity = t * startingVelocity;
b2Vec2 stepGravity = t * t * world->GetGravity();
return startingPosition + n * stepVelocity + 0.5f * (n*n+n) * stepGravity;
}