为啥我的碰撞在 pygame 中不起作用?

Posted

技术标签:

【中文标题】为啥我的碰撞在 pygame 中不起作用?【英文标题】:Why is my collision not working in pygame?为什么我的碰撞在 pygame 中不起作用? 【发布时间】:2020-10-11 19:46:55 【问题描述】:

这篇文章是颜色含义博客系列的一部分,详细介绍了与颜色相关的含义,例如红色、橙色、黄色、绿色、蓝色、紫色、灰色、黑色、白色、棕色、粉红色、绿松石色、金色、银色、和米色。

黄色,阳光、希望和幸福的颜色,有着相互矛盾的联想。一方面,黄色代表新鲜、幸福、积极、清晰、活力、乐观、启蒙、纪念、智慧、荣誉、忠诚和快乐,但另一方面,它代表懦弱和欺骗。暗淡或暗淡的黄色可能代表谨慎、疾病和嫉妒。

研究表明,黄色的含义可以是温暖、快乐、增加心理活动、增加肌肉能量。黄色有助于激活记忆力、鼓励交流、增强视力、建立信心和刺激神经系统。

【问题讨论】:

你期望distance % math.sqrt(2)做什么,你期望在什么条件下得到<= 0 【参考方案1】:

我不是 python 程序员,只是看你的碰撞函数

假设您的碰撞基于 2D 平面上 2 点之间的距离

得到距离后,你做了一个(距离 mod the sqrt of 2)。

一个 mod 得到你除法的余数,正好是 0 意味着你的数字将是 sqrt2 的倍数,因为在计算机科学中,由于浮点值的存储方式,几乎不可能得到浮点 0 .

在您检查公式是否得到您的 0 或负数之后。因为 sqrt 永远不会从距离公式中得到负值,所以碰撞为真,它必须为 0。

得到距离后,建议改变,

检查它是否在每个范围内,如果为真,否则为假。

google:圆点碰撞,我的语法可能是错误的,因为我主要是 C 程序员 ,希望对你有帮助

【讨论】:

嘿!谢谢,您是否可以用代码写出您所说的部分。我不确定我是否完全理解和想象你的措辞。如果可以,那将有很大帮助!谢谢 好吧,这里有一个提示:用简单的英语,你试图实施的规则是什么?函数应该在什么条件下返回 true? distance 代表什么,为什么math.sqrt(2) 结果与您正在做的事情相关?

以上是关于为啥我的碰撞在 pygame 中不起作用?的主要内容,如果未能解决你的问题,请参考以下文章

pyAudio 中生成的声音在 Pygame 中不起作用

为啥我的动画在 Firefox 中不起作用?

为啥我的 .htaccess 文件在 cPanel 中不起作用?

为啥我的主循环在 tkinter 中不起作用?

为啥我的链接颜色关键帧动画在 Chrome 中不起作用?

为啥我的 FileProvider 在 android studio 中不起作用