2011-03-21 170 views
1

马里奥玩多个游戏。通常,在玩游戏时,当他跳下一个问题块时,他会得到一个免费的惊喜。当他遇到Goomba或另一个危险的流氓时,他只是简单地跳了起来。在来到另一场比赛后,马里奥像往常一样在问题框下跳跃,发现没有任何反应。马里奥跳到了古博巴之上并死亡。马里奥很困惑,这里有什么不对?2D碰撞(返回碰撞端)

这个新游戏有碰撞检测(因此死亡从古邦巴),但不知道如何分辨哪一方已经相撞。假设一次只能碰撞一侧,而马里奥的左侧只能碰撞物体的右侧(右 ​​- >左;顶部 - >底部等)。

我怎么能做碰撞测试,也返回可怜的马里奥相撞的一方(以确保跳下[盒子下]]给他一个惊喜,但跳到盒子上并不给他任何东西)。

伪代码将不胜感激。

回答

1

如果您的引擎/游戏没有滞后问题,您可以使用当前速度。

例如:

  • 感人盒:如果垂直速度是不是 '积极的',没有礼物
  • 动人的敌人:如果垂直速度是不是 '负面',死亡

我在几何图形中使用垂直轴,朝向屏幕顶部,像素在顶部开始的屏幕空间中不常用,所以起起伏伏。

+0

好的,这听起来不错。我会继续尝试它:) – FreeSnow 2011-03-21 22:31:06