Python游戏服务器脚本错误-大小_平方

Python游戏服务器脚本错误-大小_平方,python,pygame,Python,Pygame,我是python新手,正在尝试为一个名为Cube World的小游戏创建一个服务器。由于游戏开发程度相当低(相当小),社区必须自己创建大部分内容(就PvP而言)。是我正在尝试使用的原始脚本,但存在一些问题。因为我是一个新手,我问了很多关于r/learnpython的问题,但是能够提供有用答案的人越来越少了。我对原始脚本所做的更改如下: 第16行: import pygame vec = pygame.math.Vector3 a = vec(1, 1, 1) print(a.magnitu

我是python新手,正在尝试为一个名为Cube World的小游戏创建一个服务器。由于游戏开发程度相当低(相当小),社区必须自己创建大部分内容(就PvP而言)。是我正在尝试使用的原始脚本,但存在一些问题。因为我是一个新手,我问了很多关于r/learnpython的问题,但是能够提供有用答案的人越来越少了。我对原始脚本所做的更改如下:

第16行:

import pygame

vec = pygame.math.Vector3

a = vec(1, 1, 1)

print(a.magnitude_squared())
for player in players:

player.position = pygame.math.Vector3

distance = (self.event_location -
                        player.position).magnitude_squared()
第386行:

import pygame

vec = pygame.math.Vector3

a = vec(1, 1, 1)

print(a.magnitude_squared())
for player in players:

player.position = pygame.math.Vector3

distance = (self.event_location -
                        player.position).magnitude_squared()

有人建议我在Reddit上使用pygame来解决大小平方问题。虽然它似乎已经修复了一些代码,但我仍然有一些问题。我通常会得到错误no属性magnity_Squared,但在当前脚本中,我得到了TabError:第389行(self.event_location-player.position).magnity_Squared()缩进中制表符和空格的使用不一致。如果有人能提供任何帮助或建议,那就太好了。(请记住,我对如何使用python知之甚少)

TabError
源于这样一个事实,即在Python3中缩进行时不能使用空格和制表符,只需坚持每缩进使用4个空格(您可以将编辑器设置为使Tab键插入4个空格)

AttributeError
可能来自这样一个问题,即您应该像这样调用
magnity\u squared
函数

print(magnitude_squared(a))
而不是这个,

print(a.magnitude_squared())

感谢您的回复,我已经对属性错误进行了更改。至于TabError,我现在得到了相同的问题,在同一条线上,但在震级_平方后的最后一个括号中。我觉得我可能遗漏了一些简单的东西,只是不确定是什么。@P3nguin33您的行(我认为是389)应该是这样的:
distance=magnity\u squared(self.event\u location-player.position)
这样,我仍然会得到最后一个括号的TabError。@P3nguin33注意使用IDE,例如Visual Studio代码,通常会为您处理缩进。我只使用记事本+,因为我没有想到会在上面花费这么多时间。您使用pygame只是为了使用它的
magnize\u squared
函数吗?Cube Worlds似乎已经使用了pyrr的向量类。是的,这就是我被告知的,我看到这个脚本在旧服务器上工作,显然,pyrr不支持震级平方函数。因为我真的不太懂这个脚本,所以我不知道其他的方法。那么,看在上帝的份上,停止使用pygame吧。谁给你这么一个烂建议?自己编写一个震级平方函数:它只是
vector.x**2+vector.y**2+vector.z**2
。谢谢,我想我已经正确地实现了它,只是用这个替换了所有的震级平方()。我现在得到的问题是Vector3没有属性向量。