【发布时间】:2012-07-30 11:10:57
【问题描述】:
我正在制作一个 pong 克隆来练习我的编码,但我一直坚持让球在被球拍击中时能够改变角度。
我当前的实现有一个球的 deltaX 和 deltaY,它们随着游戏循环移动以移动球。我这样做的方式是,如果您在球拍移动时击球,deltaY 会根据球拍的方向增加或减少,但这对于游戏来说一点也不自然。
有人知道更好的方法吗?
【问题讨论】:
-
请提供SSCCE(短,自包含,正确示例)
-
在纸上画出来:如果一个球以 90 度角撞击会发生什么? 45岁做什么? -30 是什么?然后写一个转换这个角度的函数。
-
如何定义角度?从桨还是从普通到桨?
-
正如我所说,我有一个球的 delta X 和 delta Y,所以如果 deltaX 为 3 且 deltaY 为 1,它在 x 中移动 3 个像素,在 Y 中移动 1 个像素。我不是真正计算角度本身,因为我希望它是动态的,并且许多角度不仅仅是 30/60 或 45s。我的问题在于以适当的方式更改 deltaY,以使其感觉自然而不像它那样糟糕。