射击后如何将一颗子弹分成多颗子弹

How to split a bullet to many bullets after shooting

我是一名编程初学者,我必须为一款游戏编写一个霰弹枪镜头,但遇到了问题,不知道该怎么做

我想在游戏中添加一颗子弹,当你射击它时,它会向不同的小方向吐出几颗小子弹,所以基本上是霰弹枪射击。

我已经有了一颗普通的子弹,上面有他的位置、矢量和速度,你已经可以射击了。但我的问题是,或者我不明白的是,在我用多发子弹射击后,如何拆分一颗子弹,以及每颗子弹如何获得自己的位置和移动矢量

Bullet class{

Vector2 moveVector;
float speed =15; 

public void setMoveVector(float x, float y) {

        moveVector = new Vector2(x,y);}

// in that area here its for the bullet how it moving/acting including if the path is free or blocked by walls or something
if(map.pathFree(getX(), getY(), getX()+ moveVector.x * speed, getY() + moveVector.y * speed, this)) {
            setPosition(getX() + moveVector.x * speed, getY() + moveVector.y * speed);

    //somewhere here sould come the code splitting the bullet

//removing the bullet after a distance
            DistanceIndex += speed;
            if(DistanceIndex >= 1000) {
                remove();
            }
        }


        else
            HitWall();

        if(outsideMap()) this.remove();
    }
....        
    }
Obj Class 

//class/object/gamefigure using/creating the bullet

.....


public void shootingMethod(){

......


double direction_x = Math.cos(Math.toRadians(rotation));
double direction_y = Math.sin(Math.toRadians(rotation));

Bullet bullet = new Bullet();

....

bullet.setMoveVector((float)direction_x, (float)directoin_y); 

}

Picture of my problem i mean

只需让一束较小的子弹从同一位置开始,然后朝略微不同的方向行进即可。您可以为每个子弹稍微旋转速度矢量来实现此目的。如果它们还没有,你可以让子弹传感器重叠不是问题