Java - 为游戏旋转 ArrayList 值

Java - Making ArrayList Values Rotate for Game

我有三个全局变量:

private PhysicsActor blade;
private PhysicsActor blades;
private ArrayList<PhysicsActors> blades;

我从我为我的游戏创建的 class 创建了一个 actor 对象。

blade = new PhysicsActor();
        blade.storeAnimation( "", exTex );
        blade.setOriginCenter();
        blade.setEllipseBoundary();
        blade.setMaxSpeed(50);
        blade.setDeceleration(50);

    bladesList = new ArrayList<PhysicsActor>();
        for (int i = 0; i < 3 ; i++)
        {
            float xCoord = randomFloatGenerator(425, 50);
            float yCoord = randomFloatGenerator(mapHeight - 200, 275);
            blades = blade.clone();
            blades.setPosition(xCoord, yCoord);
            mainStage.addActor(blades);
            bladesList.add(blades);
        }

问题不在于它们不产卵。这是当我在我的更新(float dt)方法中要求他们旋转而我的游戏是 运行 时,只有其中一个在旋转:

public void update(float dt) 
{   
    // rotate the blade 70 degrees
    blades.rotateBy(70); 

    // rest of code etc
}

Here is an image to help visualize

我知道这是因为我只是在旋转 blades actor。我想要做的是让它们全部从 ArrayList 轮换。但是我不知道如何从列表中获取它们。我已经尝试 bladesList.get(i) 使用 for 循环和我在网上看到的其他几种方法,但它不起作用。对我有什么提示或说明吗?

此外,如果需要,我将 post 更多代码来澄清任何令人困惑的问题。

你可以试试这个

for (PhysicsActor blade : bladesList) {
    blade.rotateBy(70);
}

这将使列表中的所有刀片旋转 70。假设您可以从调用它的地方访问数组。