2017-11-29 12 views
0

私はpygameを使っています。ゲームの始めにレンガが自動的に生成されるようにするのは、とても素敵な考えです。そこで生成するレンガの数を尋ねる関数を作成し、それらのレンガの「ボディ」を特別な場所に作成し、それらをリストに割り当てます。そして、whileループでは、私はそれに応じた画像をblitしようとします。しかし、以前は見たことがないエラーが発生します。私が見ることができるものから、Pygameは四角形のリストに画像をblitできません

Error Image

import pygame, sys 
import random 
import numpy 
pygame.init() 

def myPopulater(amountToMake, image, width, h): 


    myBodies = [] 
    for i in range(amountToMake): 
     r1 = numpy.random.randint(0, width) 
     r2 = numpy.random.randint(0, h) 
     myBodies = myBodies + image.get_rect() 
     myBodies[i].x = r1 
     myBodies[i].x = r2 
    return myBodies 

width = 500 
h = 500 

ball = pygame.image.load("c:\\python\\ball.png") 
screen = pygame.display.set_mode((width, h)) 

myList = myPopulater(25, ball, width, h) 
while (1): 
     #WHENEVER SOMETHING HAPPENS 
     for event in pygame.event.get(): 
      if event.type == pygame.QUIT: 
       sys.exit() 

     screen.fill(black) 
     for i in range(0, 25): 
      screen.blit(ball, myList[i]) 
     pygame.display.flip() 
+1

質問にエラーメッセージouputを含める方がはるかに優れています。特にメッセージが短い場合は –

答えて

1

、あなたのmyBodiesリストにimage.get_rect()の結果を追加しようとしています。

listオブジェクトに要素を追加するには、list.appendメソッドを使用する必要があります。

変更この行:これに

myBodies = myBodies + image.get_rect() 

myBodies.append(image.get_rect()) 

あなたのエラーを修正します。

関連する問題