方向向量 = 目標位置 - 子彈位置,歸一化後乘以速度更新子彈座標(直線追蹤)。// 發射時刻預計算 N 條射線方向
int bulletCount = 12; // 子彈數
double angleStep = 2 * M_PI / bulletCount;
for (int i = 0; i < bulletCount; ++i) {
double angle = i * angleStep;
double vx = cos(angle) * speed;
double vy = sin(angle) * speed;
bullets.push_back(new Bullet(x, y, vx, vy)); // 直線飛行
}
子彈/敵機數量大時,採用 **物件池** 避免頻繁 new/delete;碰撞檢測用 **網格空間分割** 或 **四叉樹** 降低複雜度至 O(N+M)。