gpt4 book ai didi

java - 对对象而不是实例进行碰撞测试

转载 作者:行者123 更新时间:2023-12-01 14:58:28 25 4
gpt4 key购买 nike

我正在尝试自定义一个碰撞器类,您可以在其中将两个对象传递给一个方法,如果两个对象中的任何一个发生碰撞,则执行某种操作。

例如我正在制作一款射击游戏,我想做的是:

  • 如果任何Ship与任何子弹相撞Bullet
    • 摧毁受影响的Ship和受影响的Bullet
  • 其他
    • 什么也不做

我想做的是写一次,而不是为每一颗子弹和/或每艘船写一次。所以,我正在考虑做这样的事情:

ColliderEvent collide = new ColliderEvent();
collide.hit(Ship, Bullet, new Runnable(){
@Override
public void run(){
// Destroy bullet and ship here
}
});

然后在我的主游戏线程中,我会做一些事情来测试某种 hit 方法中提供的两个对象是否在某个时刻发生碰撞,如果是,则执行传递给的第三个参数命中

那么,有没有什么方法可以在不将 Ship/Bullet 实例传递给 hit 方法的情况下实现此目的?

最佳答案

我会尝试使用 events and listeners在您的图书馆中处理类似的事情。基本上,您将有一个类来检查整个 map 是否发生碰撞。如果发生碰撞,它会调用对象类(例如子弹或船)中的方法(您实现),告诉它们发生了碰撞。

关于java - 对对象而不是实例进行碰撞测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14024119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com