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