我已经尝试了用于循环使用的blit和借鉴的方法和使用不同的变量“PlayerSprite”和“Treegroup”我将如何为多组精灵创建随机位置?
for PlayerSprite in Treegroup:
surface.blit(PlayerSprite,(random.randrange(100,500),random.randrange(100,600)))
也试过
SPRITES=[]
for Sprites in range(10):
Sprites= PlayerSprite
SPRITES.append(Sprites)
我得到的是错误
screen=pygame.display.set_mode((640,480))
background1=pygame.image.load("C:\Pygame-Docs\examples\data\Random Map.bmp")
class Tree1(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.image=pygame.image.load('C:\Pygame-Docs\examples\data\Tree 1.bmp')
self.image=self.image.convert()
self.rect=self.image.get_rect()
self.rect.centerx=random.randrange(10,100)
self.rect.centery=random.randrange(10,100)
# Makes a group of trees
Howmanytrees=random.randrange(5,10)
Trees=[]
for tree in range(Howmanytrees):
trees=Tree1()
Trees.append(trees)
# Howmany groups
for Treegroup in range(10):
Treegroup=Trees
# Places groups
PlayerSprite=pygame.sprite.Group(Treegroup)
# keeps loop (game) going until canceled
keepgoing=True
while keepgoing:
for event in pygame.event.get():
if event.type==pygame.QUIT:
keepgoing=False
# actually draws screen
screen.blit(background1,(0,0))
PlayerSprite.draw(screen)
pygame.display.flip()
此代码仅显示5到10棵树“Trees = []” 而没有别的。我已经在这个问题上工作了一个多星期,阅读了很多教程,看过很多网站,似乎没有任何工作。我必须忽视或忽略一些事件。我认为这很容易!
非常感谢!
对不起!我有一个'树'的拼写错误应该是'树' – Todd 2011-03-05 00:37:38
树是,列出这就是为什么我把它大写;我会尽量让自己的变量更加清晰,就像while循环一样,我只是关闭窗口来停止。我知道Treegroup没有做任何事情,我应该在发布前删除它;只是最后一分钟的实验。 – Todd 2011-03-05 00:52:45