pygame'模块'对象不可调用

时间:2016-08-18 15:51:44

标签: python-3.x numpy matplotlib pygame

所以我刚开始使用python和pygame来开始构建一个扑克程序,然后我为这些卡下载了一堆图像。我开始为图像制作测试程序:

import pygame
pygame.init()

screen = pygame.display.set_mode((1200, 675))   #Sets the screen to a 16:9 ratio display
pygame.display.set_caption('Poker Program')     #Used to set the window name as whatever's in the brackets
feltGreen = (0,200,0)                           #What is used for the color (r,g,b)(the higher the number, the lighter the colour)
screen.fill(feltGreen)
pygame.display.update()                         #Updates the screen

twoc = pygame.image("2_of_clubs.png")
twod = pygame.image("2_of_diamonds.png")
twoh = pygame.image("2_of_hearts.png")
twos = pygame.image("2_of_spades.png")
threec = pygame.image("3_of_clubs.png")
threed = pygame.image("3_of_diamonds.png")
threeh = pygame.image("3_of_hearts.png")
threes = pygame.image("3_of_spades.png")

第一次,它完美无缺。但后来我明白了:

  Traceback (most recent call last):
  File "C:/Users/Z & Z Azam/Desktop/New folder (2)/Python Stuff/PycharmProjects/ProjectGambler/Graphics-Cards.py", line 15, in <module>
    twoc = pygame.image("2_of_clubs.png")
TypeError: 'module' object is not callable

我已经尝试了一切,但它仍然这么说。我有什么办法可以让它发挥作用吗?

PS我存储卡的文件夹位于Python35的scripts文件夹中。

更新:我已经用pygame.image.load替换了所有pygame.image,但现在我得到了这个:

    Traceback (most recent call last):
  File "C:/Users/Z & Z Azam/Desktop/New folder (2)/Python Stuff/PycharmProjects/ProjectGambler/Graphics-Cards.py", line 15, in <module>
    twoc = pygame.image.load("2_of_clubs.png")           #Lines 15-66 bring all the cards into the program
pygame.error: Couldn't open 2_of_clubs.png

2 个答案:

答案 0 :(得分:2)

问题是pygame.image实际上不是一个函数 - 它是一个模块(因此是错误的文本)。要加载图像,请使用函数pygame.image.load(filename)

答案 1 :(得分:1)

pygame.image不是函数,因此不可调用。您可能希望改为使用pygame.image.load()

来源:http://www.pygame.org/docs/ref/image.html

编辑:

您可能收到新错误,因为python无法找到该文件。您应该使用文件的绝对路径。例如。 pygame.image.load('C:\\pictures\\2_of_clubs.png')

聚苯乙烯。您不需要在问题中列出所有这些模块。它使问题变得不必要地长。