我正试图找到一种方法来“审查”特定阶段坐标的所有演员,看看是否有任何具有特定标识符(例如名称)。
阶段中的命中方法(如下面的代码所示)适用于此,但在找到第一个actor后停止(如果多个actor重叠则会出现问题)。
@Override
public boolean touchDown(int screenX, int screenY, int pointer, int button) {
Vector2 coord = stage.screenToStageCoordinates(new Vector2((float)screenX,(float)screenY));
Actor hitActor = stage.hit(coord.x,coord.y,false);
if(hitActor != null)
Gdx.app.log("HIT",hitActor.getName());
return true;
}
有没有办法让hit方法在找到第一个Actor并在数组中返回结果后继续运行(或者其他类似的方法),或者我最好只是循环遍历所有actor并检查是否边界每次重叠?
答案 0 :(得分:1)
我认为循环遍历所有演员并检查它们是否被击中是唯一的方法因为stage.hit()只返回该触摸点的最深的演员。