gpt4 book ai didi

平台游戏中的 XNA 碰撞检测

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

我一直在研究一个简单的 2D 平台游戏引擎。到目前为止,我已经有了一个移动的 Sprite (尚未动画),以及 3 个用于“Jetpac”类型游戏的平台(旧的 ZX Spectrum 游戏 - 我确定如果你用谷歌搜索它,你可以在 Flash 盒中玩它)。

现在我要解决实现碰撞检测的问题,这样 Sprite 才能真正在平台上行走。我认为这将是最大的工作,然后很容易继续。但是如何实现与平台的碰撞检测?!

我有所有平台和角色的边界框,稍后会有敌人 Sprite 的边界框,但可以稍后处理。基本上,让 Sprite 在平台上行走而不使用边界框穿过它的最简单方法是什么?

更多信息:

  • 角色类控制绘制 Sprite 并使用 Vector2 位置变量更新 Sprite ,使用 Vector2 运动变量更新。
  • Platform 类控制平台的绘制(有 3 个),因此 plat1、plat2 和 plat3 都是 Platform 的类型。
  • 平台的四面都需要完全稳固,但允许 Sprite 在上面行走。

  • 有什么帮助吗?

    最佳答案

    使用矩形进行简单碰撞检测的基础知识:

    使用 rectangle struct为您的边界框。然后您可以使用 intersects method将您的平台边界框与字符边界框进行比较。

    保持性能的基础知识:

    如果你有很多平台的大关卡,如果你将所有平台与角色进行比较,你的游戏可能会变慢。例如,您可以使用 axis aligned bounding box避免这种情况的技术。 AABB 的基础是您沿 x 和 y 轴对边界框进行排序,因此将获得 BB 的近似位置。

    最后但并非最不重要的:

    platformer tutorial .

    关于平台游戏中的 XNA 碰撞检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6575532/

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