微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

不建议使用__int__隐式转换为整数,并且在将来的Python版本中可能会删除隐式转换

如何解决不建议使用__int__隐式转换为整数,并且在将来的Python版本中可能会删除隐式转换

DeprecationWarning: an integer is required (got type float).  Implicit conversion to integers using __int__ is deprecated,and may be removed in a future version of Python.
  bird_rect.centery += bird_movement

解决方法

bird_movemen似乎是一个浮点值,但是pygame.Rect只能存储整数值,因为该对象用于窗口中对象的像素位置。在分配给bird_rect.centery之前,跟踪附加变量和round变量中的位置:

初始化

bird_rect = pygame.Rect(....)
bird_centery = bird_rect.centery

动作:

bird_centery += bird_movement
bird_rect.centery = round(bird_centery)
,

这只是一个弃用警告,不会阻止程序运行。这就是说,使用__int__方法将任何变量转换为整数将不会包含在将来的python版本中。不过,这仅与pygame有关。

据我所知,在代码中的某处,您有以下一行:

int(bird_movement)

将其蒙皮到对象上时,会得到一个浮点,而pygame不会将其视为有效点。因此pygame只是警告您,说已弃用__int__()将其转换为整数,以后可能不允许。

因此,至少现在您不必担心。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。