1

我正在为我的学校编程项目开发一款射击游戏,并使用与演员的碰撞检测。

后来我意识到我需要使用另一种方法来返回一个区域中的所有演员,但唯一的问题是它返回一个列表。我不知道如何使用列表,需要将列表的每个元素变成一个演员

这是代码的一部分:

MyWorld w = (MyWorld) getWorld();
    List<Actor> a = getObjectsInRange(20, null) ;
    //if it hits the soldier
    if ( a  instanceof Soldier)
    {
        Soldier s = (Soldier) a;
        //kill the enemy
        s.die();
        //add 100 score to the enemy
        w.addScore(100);
        //if the weapon is not laser
        if (weaponId != 2) 
        {
            //getting the world to make the bullet able to fire again
            w.setBulletLive(false); 
            //remove the bullet
            getWorld().removeObject(this); 

        }
    }
    // if it hits the enemy
    else if (a instanceof EnemyWeapon)
    {
        EnemyWeapon g = (EnemyWeapon) a; 
        //intercept the missile
        g.intercepted();
4

1 回答 1

2

如果要遍历演员列表,可以执行以下操作:

for (Actor actor : listActors) {
    // here you should put your logic.
    ...
}
于 2012-06-09T20:04:59.413 回答