制造一种朝不断变化的方向发射的导弹

Creating a missile that fires in a ever changing direction

好的,我是一名大学编程专业的学生,​​在创建我的 2D Star Wars X-Wing 游戏时遇到了这个问题。这艘船不断改变方向以避免来袭的 TieFighters,我已经能够在 X-Wing 前面制造一枚导弹。

问题是我不知道如何将导弹朝船朝向的方向发射。

放置导弹代码:

if (pInputs->KeyPressed(DIK_SPACE))
{
    Vector2D missileDirection;  //Section needs fixed as missile spawns inside ship and destroys it.
    missileDirection.setBearing(m_angle, 100);
    Vector2D missilePosition = m_position + missileDirection;
    FlakShell* pFlakShell = new FlakShell;
    pFlakShell->Initialise(missilePosition, m_angle, m_pParticles);
    Game::instance.m_objects.AddItem(pFlakShell, true);
}

这是 FlakShell(missile) 的速度:

m_velocity.set(0, 0);

这是我必须让它移动的代码:

m_velocity += m_velocity * 1.5f * frametime;
m_position += m_velocity * frametime; //Position is equal to velocity * frametime

谁能帮帮我?

我认为您已经有了正确的代码,但是您缺少将导弹从飞船上移开的比例因子:

float ScalingFactor = 100.f; //Just a guess...
Vector2D missilePosition = m_position + missileDirection*ScalingFactor;