gpt4 book ai didi

c++ - 玩家、敌人和子弹交互(游戏设计)

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:08:52 27 4
gpt4 key购买 nike

<分区>

我做了一个子弹 hell 游戏。一切都按预期工作。因为我从来没有上过任何游戏设计类(class)等。我担心代码(质量方面和设计方面)。

我所做的是将所有对象存储在 GLOBAL VECTORS 中(我知道这不好)。比如

敌人数组

bulletsArray//敌人的子弹

playerBullets//玩家子弹

对于碰撞,我有一个管理器来检查更新中的碰撞

for (auto playerBullet : playerBullets)
{
for(auto enemy : EnemyArray)
{


if(enemy->checkCollision(playerBullet->bulletSprite->getPosition()) )
{
//collided
}
}
}

所以当子弹与敌人发生碰撞时,很多事情都会受到影响。例如背景对象移动,玩家获得 xp 和 Hud 变化等。

Manager 包含对 bg hud 的引用及其所需的一切。

问题一:

如何摆脱全局 vector 。 (它允许我从代码中的任何地方创建子弹/敌人)。

问题 2:是否应该有一个经理来检查子弹碰撞?还是对象本身应该检查它?如果是这样,我如何为子弹提供敌人的引用。

问题 3:就像我提到的那样,经理正在管理太多对象。 (对不起,我在这里听起来很愚蠢)。我听说一位经理应该管理一种工作。

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