Python游戏服务器脚本错误-Magnitude_Squared

时间:2018-09-07 11:51:22

标签: python pygame

我是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知之甚少)

1 个答案:

答案 0 :(得分:0)

TabError来自以下事实:在Python 3中缩进行时不能使用空格和制表符,而只能在每个缩进中使用4个空格(可以将编辑器设置为使Tab键插入4个空格)。 / p>

AttributeError 可能是由于您应该这样调用magnitude_squared函数而引起的;

print(magnitude_squared(a))

代替这个;

print(a.magnitude_squared())