gpt4 book ai didi

Java - 让 ArrayList 值在游戏中旋转

转载 作者:太空宇宙 更新时间:2023-11-04 09:54:54 26 4
gpt4 key购买 nike

我有三个全局变量:

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

我从为游戏创建的类中创建了一个 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);
}

问题不在于它们不生成。问题在于,当我在 update(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

我知道这种情况正在发生,因为我只旋转 Blade Actor 。我想做的就是让它们全部从 ArrayList 中旋转。但是我不知道如何从列表中获取它们。我尝试过使用 for 循环和我在网上看到的其他几种方法,但它不起作用。对我有什么提示或说明吗?

此外,如果需要,我将发布更多代码来澄清任何令人困惑的内容。

最佳答案

你可以试试这个

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

这将使列表中的所有 Blade 旋转 70 度。假设您可以从调用它的位置访问该阵列。

关于Java - 让 ArrayList 值在游戏中旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54281907/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com