gpt4 book ai didi

javascript - 在 JavaScript 游戏中组织类

转载 作者:行者123 更新时间:2023-11-30 13:07:00 26 4
gpt4 key购买 nike

我需要一些帮助来计算我正在使用 JavaScript 开发的游戏的类层次结构。该游戏是一款自上而下的太空射击游戏,具有(在其基本级别上)背景、玩家、子弹和敌人。

我想出了一个我认为需要改进的类图: Class diagram

这里没有什么特别之处,主类称为 Cosmos(游戏名称),它有一个 tick() 方法,每秒大约触发 60 次。 BackgroundPlayerEnemy 类属于 CosmosBullet 类属于到 Player 类,因为 Player“拥有”Bullet

虽然这张图让我想到了一个主要问题,那就是我将如何在玩家子弹和敌人之间进行碰撞检测。我可以在 Player 类中编写一个方法,将子弹的 xy 传递给 Cosmos 并进行碰撞在 Cosmos 中检测,但这似乎不是最好的方法。如果我想要一种简洁、有组织的方法,在 Cosmos 中进行碰撞检测是否可以?

我们也非常感谢您为让我的生活更轻松而做出的任何其他修改。

最佳答案

您的图表似乎有一些问题。你写道:

The Background, Player and Enemy classes belong to Cosmos and the Bullet class belongs to the Player class, because a Player "owns" Bullets."

这表明聚合或复合关系,但在您的图表中您使用了继承箭头...您有 Player 扩展 Bullets,并且在 Cosmos 上有多重继承,它扩展了 PlayerBackgroundEnemy。另外,您的图表是颠倒的;通常基类位于顶部。

如果你想使用继承链,考虑这样的事情:

diagram

关于javascript - 在 JavaScript 游戏中组织类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15315237/

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