【问题标题】:XNA Break the wall programming [closed]XNA打破墙壁编程[关闭]
【发布时间】:2014-04-01 13:34:26
【问题描述】:

我正在尝试创建这个游戏(打破墙),我有一个问题: 当球击中桨时,它的角度应该相应改变,但是如何改变呢? 有谁知道并可以帮助我?

谢谢!!

【问题讨论】:

  • 先展示你的作品..人们无法读懂你的想法。
  • 有so很多方法可以实现这一点。
  • 我正在计划游戏,我没有写太多。但是当我虽然如何做到这一点时,我并没有想出一个主意。你不需要读我的心,给我一个。谢谢
  • 这是数学,不是编程
  • 整个帖子都在尖叫“给我”而不是“帮助我”。从字面上看。

标签: c# algorithm xna collision angle


【解决方案1】:

正如 Soner 所写,不看一些代码就无法判断。因此,此答案做出了一些可能适用于您的代码的假设,也可能不适用于您的代码。无论如何,问题可以通过以下方式解决:

假设我们将球的方向和速度作为向量。桨的法线也将是一个向量。然后你需要用法线反映速度

velocity := velocity - 2 * normal * dot(normal, velocity)

【讨论】:

  • 什么是dot(,)方法?
  • 在垂直或水平墙壁的情况下,这可以像翻转垂直速度分量的符号一样简单。
  • 点是(欧几里得)标量积,法线上的条件是点(正常,正常)=1。
  • 谢谢大家的帮助我会试试这个
猜你喜欢
  • 1970-01-01
  • 2021-06-20
  • 1970-01-01
  • 2018-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多