我收到此错误
File "main.py", line 48, in update
self.rect = self.rect.move((self.dirx, self.diry))
TypeError: argument must contain two numbers
self是一个具有rect属性的sprite对象。在我的游戏中,我试图通过使用:
来移动这些精灵self.rect = self.rect.move((self.dirx, self.diry))
dirx和diry只是介于1和3之间(表示速度)。
我问过多个同行,但没有人能给我反馈。
EDIT 所以发生的事情是dirx和diry变得太大而无法在另一种方法中被视为整体
答案 0 :(得分:1)
问题是我在其他地方增加dirx和diry太多而且我觉得它们太大了,它会自动转换成很长的。
答案 1 :(得分:0)
尝试将两个数字作为两个参数传递,而不是传递给元组,如官方文档中所示:
move(self.dirx, self.diry)
答案 2 :(得分:0)
你将它作为一个元组返回,你需要返回数字。尝试:self.rect = self.rect.move(self.dirx, self.diry)