gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:16:38 26 4
gpt4 key购买 nike

好的,我是一名大学编程专业的学生,​​在创建我的 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(导弹) 的速度:

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;

关于c++ - 制造一种朝不断变化的方向发射的导弹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32770828/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com