【问题标题】:my code shows NameError, but can't spot how我的代码显示 NameError,但无法发现如何
【发布时间】:2022-08-20 16:53:13
【问题描述】:

前几天开始学编程了,挺好玩的:) 我现在正在努力发现错误。它显示 NameError 但我不知道如何使它工作。大概就是这部分; actor = Actor(\"Dot\") 但我无法弄清楚它是怎么错的!

这是一个简单的连接点游戏程序。

import pgzrun


from random import randint

WIDTH = 400
HEIGHT = 400

dots = []
lines = []

next_dot = 0

for dot in range(0,10):
    actor = Actor(\"Dot\")
    actor.pos = randint(20, WIDTH - 20), randint(20, HEIGHT -20)
    dots.append(actor)

def draw():
    screen.fill(\"black\")
    number = 1
    for dot in dots:
        screen.draw.text(str(number), (dot.pos[0], dot.pos[1] + 12))
        dot.draw()

        number = number + 1
    for line in lines:
        screen.draw.line(line[0], line[1], (100, 0, 0))

def on_mouse_down(pos):
    global next_dot
    global lines
    if dots[next_dot].collidepoint(pos):
        if next_dot:
            lines.append((dots[next_dot - 1].pos, dots[next_dot].pos))
        next_dot = next_dot + 1
    else:
        line = []
        next_dot = 0


pgzrun.go()
  • 发布完整的 Traceback - 将其格式化为代码。它将显示哪条线是罪魁祸首。
  • 你对这条线有什么期待?您似乎没有定义名为 Actor 的类或函数
  • Pygame 不是 Pygame Zero。您必须使用标签pgzero 而不是pygame
  • @jordanm Actor 是 Pygame Zero 的一类。这不是 Pgame 问题,而是 Pygame 零问题。
  • Actor 是 Pygame Zero 的一个类

标签: python pgzero


【解决方案1】:

演员'Dot' 必须小写

【讨论】:

    猜你喜欢
    • 2014-07-20
    • 2021-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-17
    • 1970-01-01
    • 1970-01-01
    • 2011-04-23
    相关资源
    最近更新 更多