0

python新手,我只是想测试一些东西。根据一些研究,我认为我需要一个列表来存储所有矢量点

mlist1 = [
[7, 12],
[22, 31],
[4, 17]]

一切都很好,我将其作为打印件进行测试。

print (mlist1);

但现在我想将每个元素用作 blit 的向量。所以我的代码看起来像这样

for number in mlist1:
    s=pygame.display.set_mode((600, 600));
    newInt = mlist1[number];
    s.blit(array_surface, newInt);

(有一个错误TypeError: list indices must be integers, not list:)

我知道 blit 需要一个 int,但是还有其他可用的功能或我可以做些什么来实现我的目标吗?我愿意接受任何和所有建议(即使这意味着做一些与我目前正在做的不同的事情,我只是从头开始做这一切,在这个意义上对 python 或向量的经验很少),提前谢谢你。

编辑:

我想说的另一点是我正在尝试制作一个 NavGraph,所以我需要节点,所以这本质上就是节点,所以如果这会影响任何人的回答/评论,只是想把它放在那里。

编辑2:

为了进一步澄清我的问题,我想解释一下我实际上是在尝试将向量传递给 blit,但我需要一个整数。我想知道是否有另一个函数或其他东西可以用来基本上传递向量而不是整数,并且仍然让它在窗口中绘制

4

2 回答 2

1

我不确定 blit 是你想要的。这会在您的坐标处绘制圆圈。我建议多看看 pygame 教程。

import pygame

mlist1 = [
    (7, 12),
    (22, 31),
    (4, 17)]

s = pygame.display.set_mode((600, 600))

for point in mlist1:
    pygame.draw.circle(s, (255, 0, 0), point, 5)

pygame.display.flip()
于 2014-05-03T06:40:22.550 回答
0

这是你要找的吗?

s = pygame.display.set_mode((600, 600));
for point in mlist1:
    s.blit(array_surface, point);
于 2014-05-03T06:28:44.440 回答