我需要AS3的物理引擎Nape的帮助。我有一个类,用一些矩形(Nape some )作为成员变量。我有一个InteractionListener,当这些矩形与场景中的一些圆(也是Nape物体)交互时,它会做出反应。但是,在处理InteractionListener内部的冲突时,我需要访问rectangle所属的类实例。这个类实例有一些我需要调用的方法。我该怎么做呢?
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();
}我有一个动态数量的有机体实例。每个有机体都有动态数量的矩形。只有其中的第一个矩形是交互的。我现在能看到的唯一解决方案是将所有交互的矩形和所有有机体实例的列表放在一个单独的列表中,然后通过其他列表中矩形的索引访问有机体。但是,如果能够通过矩形主体中的一些用户数据访问有机体,速度会快得多……我不能扩展Body,因为这是一个期末课程。请帮帮我!
发布于 2014-10-24 06:07:09
如果其他人对该解决方案感兴趣:
按如下方式存储实例: body.userData.organism = organism;
然后访问它: callback.int2.userData.organism.foo();
https://stackoverflow.com/questions/26537947
复制相似问题