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。假设您可以从调用它的地方访问数组。
我有三个全局变量:
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。假设您可以从调用它的地方访问数组。