我是python的新手,正在尝试为名为Cube World的小游戏创建服务器。由于游戏开发尚不充分,(相当小的)社区必须自己创建大部分内容(就PvP而言)。 This是我尝试使用的原始脚本,但存在一些问题。由于我是新手,所以我在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上使用pygame来解决幅值平方的问题。尽管它似乎已经修复了一些代码,但仍然存在一些问题。我通常会收到错误没有名为Magnitude_Squared的属性,但是在此当前脚本中,我得到 TabError:缩进中的制表符和空格的不一致使用在行389 上(自己。 event_location-player.position).magnitude_squared()。如果有人可以提供任何帮助或建议,那将是很好的。 (请记住,我对如何使用python知之甚少)
答案 0 :(得分:0)
TabError
来自以下事实:在Python 3中缩进行时不能使用空格和制表符,而只能在每个缩进中使用4个空格(可以将编辑器设置为使Tab键插入4个空格)。 / p>
AttributeError
可能是由于您应该这样调用magnitude_squared
函数而引起的;
print(magnitude_squared(a))
代替这个;
print(a.magnitude_squared())