Мне нужна помощь с физическим движком Nape в AS3. У меня есть класс с некоторыми прямоугольниками (тела Nape) в качестве переменных-членов. У меня есть InteractionListener, который реагирует, когда эти прямоугольники взаимодействуют с некоторыми кругами (также телами Nape) в сцене. Однако мне нужно получить доступ к экземпляру класса, частью которого является прямоугольник, при обработке коллизии внутри InteractionListener. Экземпляр класса имеет несколько методов, которые мне нужно вызвать. Как я могу это сделать?
public function foodInteraction(callback:InteractionCallback):void {
Food.list.remove(Body(callback.int1));
Universe.space.bodies.remove(Body(callback.int1));
// callback.int2 is part of class Organism,
// need to access that organism and call organism33.eat();
}
У меня есть динамическое количество экземпляров организма. Каждый организм имеет динамическое количество прямоугольников. Взаимодействует только первый прямоугольник. Единственное решение, которое я вижу прямо сейчас, состоит в том, чтобы все взаимодействующие прямоугольники были в отдельном списке вместе со списком всех экземпляров организма, а затем доступ к организму через индекс прямоугольника в другом списке. Но было бы намного быстрее получить доступ к организму через некоторые пользовательские данные в прямоугольном теле... Я не мог расширить тело, потому что это окончательный класс. Пожалуйста помоги!