Q
有关矢量帮助
1
A
回答
1
有两个部分需要进行计算。首先,我会从总距离开始。这应该是简单的:
total_distance = velocity * time
假设这是一个2D游戏,则应使用正弦&余弦打破总距离达到X和Y分量(对于给定的角):
distance_y = total_distance * sin(2 * pi * angle/360)
distance_x = total_distance * cos(2 * pi * angle/360)
pos_x = distance_x + start_pos_x
pos_y = distance_y + start_pos_y
当然,你可以换这一切在一个不错的类,扩展0:
最后,距离X/Y应根据子弹的起始位置偏移根据需要进行抛光。
1
1
我想创建开始像这样的东西:
struct Vector3f {
float x, y, z;
};
struct Bullet {
Vector3f position;
Vector3f velocity;
};
inline const Vector3f& Vector3f::operator+=(const Vector &other)
{
x += other.x;
y += other.y;
z += other.z;
return *this;
}
inline const Vector3f& Vector3f::operator*=(float v)
{
x *= v;
y *= v;
z *= v;
return *this;
}
然后,您可以更新您的bullet.position += velocity
子弹位置(向量加法是通过添加单独的组件完成)。请注意,速度矢量包含方向和速度(=矢量的大小)。
如果你的子弹应该每帧变慢,你可以做一些像bullet.velocity *= 0.98
(其中0.98代表分数)。一个标量矢量乘法表示各成分与标量相乘即可...
问候, 克里斯托夫
0
+0
我认为像矢量和矩阵数学这样简单的事情,值得他一段时间去真正学会如何做数学。如果他想参加比赛,他需要知道方程式和他们的目的,以解决进一步的问题。如知道点产品和跨产品工作解决S.A.T – Craig 2010-02-12 02:14:41
相关问题
- 1. Java矢量帮助
- 2. 映射2矢量 - 帮助矢量化
- 3. 速度矢量帮助
- 4. 循环帮助:字符串矢量到3D char矢量
- 5. Java SE矢量阵列帮助
- 6. 循环帮助三维矢量C++
- 7. 帮助合并矢量的算法
- 8. IOS CATransform3DMakeRotation需要帮助矢量
- 9. 的.htaccess帮助有关多GET变量
- 10. 需要有关PATH变量的帮助
- 11. 有人可以帮助我理解矢量化吗?
- 12. 有关ListView的帮助
- 13. 帮助有关的BizTalk
- 14. 有关mysql的帮助AES_ENCRYPT
- 15. 有关Android NDK的帮助
- 16. 需要帮助有关SQL
- 17. 有关ImageView的Android帮助
- 18. 有关Facebook Connect的帮助...!
- 19. 有关缩写的帮助
- 20. 帮助有关JavaScript removeclass
- 21. Matlab矢量协助
- 22. R新手:帮助习惯向量和“矢量化”循环
- 23. 变量帮助
- 24. 帮助使用开关变量
- 25. 数组变量输入帮助[关闭]
- 26. Rails关联帮助
- 27. Rails关系帮助
- 28. MongoDB帮助(关系)
- 29. 帮助开关盒
- 30. 相关类型:矢量矢量
要生成随机方向和向量吗? – 2010-02-12 01:56:11
我想通过角度和大小作为参数,基本上子弹可以去任何方向 – jmasterx 2010-02-12 01:57:35
如果它是一个子弹,你不想'量级。你需要它的位置,方向,速度和时间步长(自上次更新以来的时间) – Craig 2010-02-12 02:06:02