嘿,我想做一个基本的曲棍球风格的比赛。 我有与球场,球员,对手和球一起工作的基本物理学。区分球和球员在进球冲突
我很努力地弄清楚我怎样才能让球进入球门 ,同时让球员和对手不要进球。
基本上对手跟随球,并且玩家由用户输入控制。 所以有两个我需要的限制。
我需要创建一个只有球可以通过的形状......这甚至有可能吗? 如果球通过球门线,我可以睡觉对手吗?
我是否正确地做了这件事?
PLAYER1只能左右移动红框 Player2只能左右移动绿色框中 球可以在外蓝盒子
嘿,我想做一个基本的曲棍球风格的比赛。 我有与球场,球员,对手和球一起工作的基本物理学。区分球和球员在进球冲突
我很努力地弄清楚我怎样才能让球进入球门 ,同时让球员和对手不要进球。
基本上对手跟随球,并且玩家由用户输入控制。 所以有两个我需要的限制。
我需要创建一个只有球可以通过的形状......这甚至有可能吗? 如果球通过球门线,我可以睡觉对手吗?
我是否正确地做了这件事?
PLAYER1只能左右移动红框 Player2只能左右移动绿色框中 球可以在外蓝盒子
如果您使用Box2D,您可能需要查看传感器。
从Box2D Manual摘自:
有时候游戏逻辑需要知道何时两场比赛重叠但不应该有碰撞响应。这是通过使用传感器完成的。传感器是检测碰撞但不产生响应的固定装置。
您可以将任何灯具标记为传感器。传感器可能是静态的或动态的。请记住,你可能有多个固定装置,你可以有任何混合的传感器和固体装置。
传感器不生成接触点。有两种方法可以得到一个传感器的状态:
- b2Contact :: IsTouching
- b2ContactListener :: BeginContact和EndContact
你为什么不使用简单的走动碰撞检测?
如果在曲棍球场上移动的物体是类型球员,并且他的位置/撞击箱与球门碰撞,那么您将他的位置改回线路,因此他可能无法与目标相交。
如果对象的类型是不是一个球员,你简单的让对象传递
好了,你不要让玩家在公平的竞争环境留给向左或向右你呢?所以你只需要为球员的目标区域做相同的逻辑。
游戏区是用静态物体一直创建的,有没有办法在box2d中创建一个虚拟边界框? – Rob 2011-03-23 12:40:14
看起来你可能会发现。 – Rob 2011-03-23 23:18:20