处理对象之间相互作用的类

时间:2018-07-05 11:21:14

标签: java object interaction

我正在尝试创建一个物理类来处理不同对象之间的交互。

在我的项目中,我有一个扩展了所有对象的AbstractObject和一个ObjectHandler类,该类通过LinkedList处理所有对象的列表。
除此之外,我还有一个枚举,用于按ID(例如ID.Player(),ID.Enemy()等)对我的对象进行分类,以便更轻松地定义我要查找的确切交互。 >

LinkedList || Classes || Player class extends Object(与其他对象一样)

我想做的是创建一个(Physics.class)类,该类将管理对象之间的交互。我以前在检查Object类(例如Player类)中的对象之间的交互时所做的事情是这样的:

for (int i = 0; i < handler.objects.size(); i++) {
   Object tobject = handler.objects.get(i);
   if (tobject.getID() == ID.{Class} && getBounds().intersects(tobject.getBounds()))
      {
       //Do something
      }

说明:该循环位于tick()方法内部(如果您使用Java编程游戏,则应该熟悉Notch的循环和tick()方法),该每次对象移动都会触发。 getBounds()方法仅返回具有我定义的坐标的Rectangle。

即使这种检查对象之间交互作用的方法行得通,我也开始拥有太多对象,并且每次添加新对象(扩展对象的类)时,我都必须检查交互作用,并且总是会出现新的错误。我认为,使用处理对象之间所有交互的Physics类,会容易得多,但我无法全神贯注于如何做到这一点。如果您有任何其他建议来处理交互,也将受到欢迎。

感谢您的关注。

0 个答案:

没有答案