Задача не очень простая, как кажется.
Фильт наиболее простой способ, это легче чем рисовать прямоугольную рамку.
Я в подобных случаях делал класс (ObjectSelector) у которого были подобные методы:
1) add( object

isplayObject ) - добавить в список выделения объект
2) remove( object

isplayObject ) - удалить объект из списка выделения
3) removeAll() - удалить все объекты из списка выделения
Внутри (ObjectSelector) был массив, в кором я хранил этот список.
Не знаю поможет ли это - мне было удобнее сделать так.