Зачем создавать новый объект каждый раз? Попробуйте вынести это в менеджер, который обработает взаимодействие или API, который будет у персонажей.
Что-то типа
Код AS3:
public function process(actionID:String, data: ADEntity, ch1: Character, ch2: Character = null)