2016-05-05 15 views
0

私はpygameには新しく、グループに画像を追加できないという問題があります。私はなぜそれが動作しないのか分からない。AttributeError: 'pygame.Surface'オブジェクトに 'add_internal'属性がありません

コードは、(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

あなたのコードではなく、スプライトグループtile_l1_listに表面画像を追加sprite.image属性を持つSpriteインスタンスを作成して、スプライトのグループにこれを追加しようとしています。このスニペットは、コードの 'image'と 'screen'インスタンスを使用する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() 
関連する問題