制造一种不断改变发射方向的导弹
Creating a missile that fires in a ever changing direction
我是一名大学编程专业的学生,我在制作2D《星球大战x翼》时遇到了这个问题。这艘船不断改变方向以避免来袭的战斗机,我已经能够在x翼前面制造一枚导弹。
问题是我不知道如何向船面对的方向发射导弹。
放置导弹代码:
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;
相关文章:
- 变量没有改变?通过向量的函数调用
- 如何改变c++应用程序的视觉效果
- C++在不同线程中改变向量
- 如何访问和改变存储在矢量C++中的对象
- 在C++行尾写一个分号或多个分号是否会改变任何内容
- 为什么字符串的 move() 会改变内存中底层数据的位置?
- 为什么 c++ 动态数组的大小没有改变?
- 为什么提升图库的 read_graphviz() 函数会改变节点的索引
- 在向量内更改变量的值不会改变其在向量外的值
- 为什么 GCC 不能假设 std::vector::size 在这个循环中不会改变?
- 改变或缩放两个正态分布以具有特定的相关系数
- 当我使用CHAR_INFO结构时,控制台会无缘无故地改变颜色
- 为什么我的函数接受"std::string"进行排序不会改变它?
- MFC:你能在CDateTimeCtrl中改变自旋的加速度吗?
- 为什么切换 for 循环的顺序会显著改变执行时间?
- 使用可变参数模板改变模板参数
- C++中物体改变识别的设计模式?
- 通过从构造函数中的'this'复制的指针改变常量对象
- C++11:具有互斥锁的线程看到原子变量的值发生变化,尽管这是唯一可以改变它的代码
- 制造一种不断改变发射方向的导弹