【问题标题】:Check for intersection between many missles and enemy?检查许多导弹和敌人之间的交叉点?
【发布时间】:2011-02-06 15:47:00
【问题描述】:

我想创建一个类,比如说敌人 1、敌人 2 和敌人 3。

敌人 1:很容易杀死,但很多。 敌人 2:更难杀死,但更少。 敌人3:boss,超级难杀,只有一个。

假设很多将是 1,000。少了100个。老板当然是1个。

所以为一个只有敌人的游戏制作 1,101 个不同的实例是很愚蠢的。这需要很多代码。

现在我生病的战斗机可以发射很多导弹。为了好玩,假设每分钟 2,000 次。

我需要检查敌人和所有导弹之间的碰撞。我计划只使用 4 个不同的实例。这将是敌人 1、敌人 2、敌人 3 和导弹。

关于如何解决这个问题的任何想法?显然我需要线程,但我不确定在这种情况下如何检查冲突。

【问题讨论】:

    标签: java multithreading collision-detection


    【解决方案1】:

    如果你有 1101 个敌人在这个地方游荡,那么他们每个人都会有他们的位置、他们的伤害、他们的弹药库等等,所以你需要 1101 个实例。您只需要四个。然后为每个类创建一个完整的实例数组。

    您还需要为每个导弹创建一个实例。

    碰撞?那么,您是否打算为此使用一些 3d 图形游戏库?它可能会处理碰撞检测。还是你的敌人都是领域?你需要几何...

    【讨论】:

    • 有没有使用数组列表与敌人或你知道的东西的例子?
    • 我认为 OP 将错误答案标记为解决方案。这个答案比较完整。
    【解决方案2】:

    所以为一个只有敌人的游戏制作 1,101 个不同的实例是很愚蠢的。这需要很多代码。

    一点也不。您可能会将类与实例混淆,因为您实际上必须创建这些对象的 1,101 个实例,但只需要 3 个 Enemy 类的代码(或 1 个类,如果您可以使杀死该类的属性有多难) )。您可能会有一个集合,例如 Enemy 的 ArrayList。

    另一个答案处理冲突,但您可能会在模型中执行此部分,而不是在视图代码中。

    【讨论】:

    • 有没有使用数组列表和敌人或你知道的东西的例子?
    • 您可能要求的示例过于具体。我会寻找更多关于使用 ArrayLists 的教程,包括使用 for 和 foreach 循环遍历它们。
    • 无论如何,我正在寻找一个具体的例子。我想如果你把他们的位置放在一个数组中,然后检查一下它应该可以正常工作吗?
    • 是的,这几乎是 java 101。该示例可能是关于创建客户或员工列表或同样无聊和企业的东西。坚持下去。将客户视为敌人,将员工视为老板敌人……快速网络搜索:learn-java-tutorial.com/Java-Arrays.cfm
    猜你喜欢
    • 2013-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-22
    相关资源
    最近更新 更多