【发布时间】:2019-01-20 18:18:47
【问题描述】:
我正在使用 Pygame 模块在 python 2.7 中制作粒子模拟器。而且我在涉及某些课程时遇到错误,我无法修复,请帮忙。这是代码:
import pygame, sys
from colors import *
from random import randint
import particles
pygame.init()
#background = pygame.image.load("graphics//background.jpg")
#Background = pygame.Surface(background.get_size(), pygame.HWSURFACE)
#Background.blit(background, (0, 0))
global window, window_height, window_width, window_title
window_width, window_height = 800, 600
window_title = "particle game"
title_icon = "graphics//icons//icon_title.jpg"
pygame.display.set_caption(window_title)
window = pygame.display.set_mode((window_width,
window_height), pygame.HWSURFACE|pygame.DOUBLEBUF)
particle_size = 2
class Particle(object):
def __init__(self, Color, xpos, ypos):
pygame.draw.rect(window, Color, xpos, ypos, particle_size, particle_size)
class Hydrogen(Particle):
def __init__(self, Color, xpos, ypos):
Particle.__init__(self, Color, xpos, ypos)
pygame.draw.rect(window, Color, xpos, ypos, particle_size, particle_size)
window.fill(Color.LightGray)
particle_num = 12
isRunning = True
#for particle in range(particle_num):
#Hydrogen(Color.Green)
#print"hello"
while isRunning:
for event in pygame.event.get():
if event.type == pygame.QUIT:
isRunning = False
elif event.type == pygame.MOUSEBUTTONDOWN:
mx, my = pygame.mouse.get_pos()
Hydrogen(Color.Orange, mx, my)
pygame.display.update()
pygame.quit()
sys.exit()
缩进是正确的,缩进可能是复制的时候弄乱了。
以下是所有错误:
line 53, in <module> Hydrogen(Color.Orange, mx, my) line 36, in __init__ Particle.__init__(self, Color, xpos, ypos) line 30, in __init__ pygame.draw.rect(window, Color, xpos, ypos, particle_size, particle_size) TypeError: function takes at most 4 arguments (6 given)
【问题讨论】:
-
我对PyGame几乎一无所知,但我认为应该是
pygame.draw.rect(window, Color, (xpos, ypos, particle_size, particle_size)) -
请修复代码缩进。
-
“缩进是正确的,缩进可能在复制时搞砸了”没有帮助。如果我想运行你的代码来调试你的问题,我的解释器会给我一个
IndentationError或者默默地做错事。我不能只说:“抱歉,Python,狼蛛家伙说它就在他的机器上,所以无论如何请运行它”。 -
错误很明显,接下来的方法是阅读您错误使用的功能的文档。
标签: python python-2.7 pygame