如何解决不建议使用__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 举报,一经查实,本站将立刻删除。