AttributeError:'pygame.Surface'对象没有属性'add_internal'

时间:2016-05-05 17:45:29

标签: python python-3.x pygame

我对pygame很新,我有一个问题,我无法将图像添加到组中。我不知道为什么它不起作用。

代码应该在(10,10)创建一个框。我使用的是python 3.4.4和pygame 1.9.1。

有人能告诉我我做错了吗?

import pygame, sys, os
from pygame.locals import *
pygame.init()
screen = pygame.display.set_mode((100, 100))

tile_l1_list = pygame.sprite.Group()

image = pygame.image.load("box.png")
image = image.convert_alpha()
a=screen.blit(image, (10,10))
pygame.display.flip()
tile_l1_list.add(image)


####################################

while True:
    pygame.display.flip()

pygame.quit()

1 个答案:

答案 0 :(得分:1)

您的代码正在尝试将Surface图像添加到精灵组tile_l1_list中,而是创建一个带有sprite.image属性的Sprite实例,并将其添加到精灵组。这个片段使用你的代码的'image'和'screen'实例来演示Sprite类,尽管它最好是子类Sprite:

tile_l1_list = pygame.sprite.Group()
tile = pygame.sprite.Sprite()
tile.image = image
tile.rect = image.get_rect()
tile.rect.x = 10
tile.rect.y = 10
tile_l1_list.add(tile)
tile_l1_list.draw(screen)
pygame.display.flip()