0

我需要有关 AS3 中物理引擎 Nape 的帮助。我有一个带有一些矩形(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();
}

我有大量的有机体实例。每个有机体都有动态数量的矩形。它只是其中的第一个矩形在交互。我现在能看到的唯一解决方案是将所有交互的矩形连同所有有机体实例的列表放在一个单独的列表中,然后通过另一个列表中矩形的索引访问有机体。但是能够通过矩形主体中的一些用户数据访问有机体会快得多......我无法扩展主体,因为它是最终类。请帮忙!

4

1 回答 1

0

我讨厌在询问后几秒钟找到解决方案。如果其他人对解决方案感兴趣:

像这样存储实例:body.userData.organism =有机体;

然后访问它:callback.int2.userData.organism.foo();

于 2014-10-23T22:07:08.843 回答