我对python很陌生,我正试图为一个名为Cube的小游戏创建一个服务器。由于游戏开发相当落后,(相当小的)社区必须自己创建大部分内容(就PvP而言)。这是我尝试使用的原始脚本,但也出现了一些问题。因为我是个新手,所以我问了很多关于r/learnpython的问题,但是越来越少的人能够给出一个有用的答案。我对原脚本所做的修改如下:
16线:
import pygame
vec = pygame.math.Vector3
a = vec(1, 1, 1)
print(a.magnitude_squared())第386行:
for player in players:
player.position = pygame.math.Vector3
distance = (self.event_location -
player.position).magnitude_squared()我在Reddit网站上被建议使用游戏来解决magnitude_squared问题。虽然它似乎已经修复了一些代码,但我仍然存在一些问题。我通常会得到名为Magnitude_Squared的error no属性,但是在当前的脚本中,我得到了TabError:在第389行(self.event_location - player.position).magnitude_squared()的缩进中不一致地使用制表符和空格。如果有人能提供任何帮助或建议,那就太好了。(请记住,我对如何使用python知之甚少)
发布于 2018-09-07 12:05:14
TabError源于这样一个事实:在Python3中缩进行时不能使用空格和制表符,只需坚持每个缩进使用4个空格(您可以设置编辑器使Tab键插入4个空格)。
AttributeError可能来自于您应该像这样调用magnitude_squared函数的问题;
print(magnitude_squared(a))而不是这个;
print(a.magnitude_squared())https://stackoverflow.com/questions/52221982
复制相似问题