私は学校のプログラミングプロジェクトでシューティングゲームに取り組んでおり、俳優との衝突検出を使用しています。
後で、エリア内のすべてのアクターを返すことができる別のメソッドを使用する必要があることに気付きましたが、唯一の問題はリストを返すことです。リストの使い方がわからないので、リストの各要素をアクターに変える必要があります
コードのセクションは次のとおりです。
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();