如何创建对象和部分背景的碰撞检测?
How do I create collision detection with an object and part of a background?
我刚刚开始尝试使用 java 和 libgdx 制作我自己的游戏,到目前为止我的成功程度一直是在屏幕上显示背景图像,并产生一点使用 WASD 调整用户控件。背景只是一种纯色,有一个垂直的矩形,里面是红色的,边缘是黑色的。我想让小方块(玩家)可以在红色矩形内的任何地方移动,但不能越过黑色边缘(超出矩形)。我该怎么做?
由于我是这方面的初学者,所以我必须问这些相关问题...
播放器应该只是一个纹理吗?背景应该是纹理吗?还是精灵?
我还不确定两者之间的区别。
我建议您阅读有关 libGDX 和 Box2D 的教程,例如:http://www.gamefromscratch.com/post/2014/08/27/LibGDX-Tutorial-13-Physics-with-Box2D-Part-1-A-Basic-Physics-Simulations.aspx
回答您的问题,简而言之:
- 纹理是内存中的图像
- 精灵是纹理(或整个纹理)的一部分,经过变换(平移、缩放、旋转)以在屏幕上绘制。
所以基本上,在视图模型中,您的玩家由精灵表示,您的背景也是精灵。
玩家 1 和 2 是 2 个不同的精灵,但可能引用相同的纹理(位图)。
使用 box2D,在物理模型中,您的玩家将被表示为动态物体,您的背景将被表示为静态物体。
我刚刚开始尝试使用 java 和 libgdx 制作我自己的游戏,到目前为止我的成功程度一直是在屏幕上显示背景图像,并产生一点使用 WASD 调整用户控件。背景只是一种纯色,有一个垂直的矩形,里面是红色的,边缘是黑色的。我想让小方块(玩家)可以在红色矩形内的任何地方移动,但不能越过黑色边缘(超出矩形)。我该怎么做?
由于我是这方面的初学者,所以我必须问这些相关问题...
播放器应该只是一个纹理吗?背景应该是纹理吗?还是精灵?
我还不确定两者之间的区别。
我建议您阅读有关 libGDX 和 Box2D 的教程,例如:http://www.gamefromscratch.com/post/2014/08/27/LibGDX-Tutorial-13-Physics-with-Box2D-Part-1-A-Basic-Physics-Simulations.aspx
回答您的问题,简而言之:
- 纹理是内存中的图像
- 精灵是纹理(或整个纹理)的一部分,经过变换(平移、缩放、旋转)以在屏幕上绘制。
所以基本上,在视图模型中,您的玩家由精灵表示,您的背景也是精灵。 玩家 1 和 2 是 2 个不同的精灵,但可能引用相同的纹理(位图)。 使用 box2D,在物理模型中,您的玩家将被表示为动态物体,您的背景将被表示为静态物体。