Java - 使 ArrayList 值为游戏旋转

我有三个全局变量:


private PhysicsActor blade;

private PhysicsActor blades;

private ArrayList<PhysicsActors> blades;

我从为我的游戏创建的类中创建了一个演员对象。


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

}

http://img1.mukewang.com/627ce7be00012cc112790853.jpg

我知道这种情况正在发生,因为我只是在旋转刀片演员。我想要做的是让它们都从 ArrayList 中旋转。但是,我不知道如何从列表中获取它们。我已经尝试使用 for 循环和我在网上看到的其他几种方式来使用 BladeList.get(i),但它不起作用。对我有任何提示或说明吗?


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


慕后森
浏览 122回答 1
1回答

慕标5832272

你可以试试这个for&nbsp;(PhysicsActor&nbsp;blade&nbsp;:&nbsp;bladesList)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;blade.rotateBy(70); &nbsp;&nbsp;&nbsp;&nbsp;}这将使列表中的所有刀片旋转 70。假设您可以从调用它的位置访问数组。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java