在“碰撞层”中添加“对象碰撞”

时间:2012-10-15 20:41:50

标签: xna collision-detection layer collision

目前,我的角色使用了像素完美的碰撞图层。 我在游戏中添加了一些像“门”或“平台”这样的对象,但我的角色通过它们。

我想我可以用“合并”之类的东西修改每个Update()的碰撞层。 将碰撞层与我想的每个对象合并,但我不知道该怎么做......

[编辑] Q1:如何合并一些Texture2D

请阅读,希望你能指导我。

2 个答案:

答案 0 :(得分:0)

您可以通过.SetData和.GetData -Methods

合并Texture2D

但是要小心这些方法,因为它们确实吃了帧率。

答案 1 :(得分:0)

您可以使用RenderTargets来实现此目的。这是关于如何使用它们的related question

基本上,您可以将所有碰撞精灵绘制到渲染目标,从而使多个纹理中的单个纹理。如果碰撞层经常更改,则可以在每个帧上执行此操作。

希望这有帮助!

编辑:这是MSDN article on RenderTargets

更多编辑:或者,您可以检查每个对象上的每像素碰撞,而不是将它们全部合并为一个。但是,您必须显示一些代码才能获得帮助。