In the last code provided I messed up the Bullet Class Code. Apologies for that. Below is my code :import pygamefrom pygame.locals import *import randomimport timepygame.init()screen=pygame.display.set_mode((640,480),0,24)pygame.display.set_caption("Hit The Stone")background="">background="">screen.blit(background,(0,0))class Plane(pygame.sprite.Sprite):def __init__(self):pygame.sprite.Sprite.__init__(self)self.image=pygame.image.load('plane.gif').convert()self.rect=self.image.get_rect()self.rect.centerx=random.randint(0,screen.get_width())self.distancefromcenter=30self.rect.centery=screen.get_height()-self.distancefromcenterself.dx=2self.dy=2def update(self):self.pressed=pygame.key.get_pressed()if self.pressed[K_DOWN]:self.rect.centery+=self.dyelif self.pressed[K_UP]:self.rect.centery-=self.dyelif self.pressed[K_LEFT]:self.rect.centerx-=self.dxelif self.pressed[K_RIGHT]:self.rect.centerx+=self.dxif self.rect.bottom>=screen.get_height():self.rect.bottom=screen.get_height()elif self.rect.top<=0:self.rect.top=0if self.rect.centerx>=screen.get_width()-self.distancefromcenter:self.rect.centerx=screen.get_width()-self.distancefromcenterelif self.rect.centerx<=self.distancefromcenter:self.rect.centerx=self.distancefromcenterclass Bullet(pygame.sprite.Sprite):def __init__(self,posx,posy,image):pygame.sprite.Sprite.__init__(self)self.image=imageself.rect=self.image.get_rect()self.rect.center=(posx,posy-30)self.dy=5def update(self):self.rect.centery-=self.dyself.rect.center=(self.rect.centerx,self.rect.centery)if self.rect.top<=0:self.kill()class Blank(pygame.sprite.Sprite):def __init__(self,posx,posy):pygame.sprite.Sprite.__init__(self)self.image=pygame.Surface((10,20))self.image.fill((0,0,0))self.rect=self.image.get_rect()self.rect.center=(posx,posy-30)self.dy=5def update(self):self.rect.centery-=self.dyself.rect.center=(self.rect.centerx,self.rect.centery)if self.rect.top<=0:self.kill()def main():image=pygame.image.load('geometrybullet.png').convert()plane=Plane()allSprites=pygame.sprite.Group(plane)clock=pygame.time.Clock()while 1:pressed=pygame.key.get_pressed()for i in pygame.event.get():if i.type==QUIT or pressed[K_q]:exit()if pressed[K_SPACE]:bullet=Bullet(plane.rect.centerx,plane.rect.centery,image)bullet.shootCount=0allSprites.add(bullet)allSprites.clear(screen,background)allSprites.update()allSprites.draw(screen)pygame.display.flip()if __name__=='__main__':main()On Thu, Jan 12, 2012 at 11:01 PM, ANKUR AGGARWAL <coolankur2006@xxxxxxxxx> wrote:
import pygamefrom pygame.locals import *import randompygame.init()screen=pygame.display.set_mode((640,480),0,24)pygame.display.set_caption("Hit The Stone")background="">background="">screen.blit(background,(0,0))class Plane(pygame.sprite.Sprite):def __init__(self):pygame.sprite.Sprite.__init__(self)self.image=pygame.image.load('plane.gif').convert()self.rect=self.image.get_rect()self.rect.centerx=random.randint(0,screen.get_width())self.distancefromcenter=30self.rect.centery=screen.get_height()-self.distancefromcenterself.dx=2self.dy=2def update(self):self.pressed=pygame.key.get_pressed()if self.pressed[K_DOWN]:self.rect.centery+=self.dyelif self.pressed[K_UP]:self.rect.centery-=self.dyelif self.pressed[K_LEFT]:self.rect.centerx-=self.dxelif self.pressed[K_RIGHT]:self.rect.centerx+=self.dx
if self.rect.bottom>=screen.get_height():self.rect.bottom=screen.get_height()elif self.rect.top<=0:self.rect.top=0if self.rect.centerx>=screen.get_width()-self.distancefromcenter:self.rect.centerx=screen.get_width()-self.distancefromcenterelif self.rect.centerx<=self.distancefromcenter:self.rect.centerx=self.distancefromcenterclass Bullet(pygame.sprite.Sprite):def __init__(self,posx,posy,image):pygame.sprite.Sprite.__init__(self)if self.shootCount>10:self.image=imageself.rect=self.image.get_rect()self.rect.center=(posx,posy-30)self.dy=5else:self.shootCount+=1def update(self):self.rect.centery-=self.dyself.rect.center=(self.rect.centerx,self.rect.centery)if self.rect.top<=0:self.kill()def main():image=pygame.image.load('geometrybullet.png').convert()plane=Plane()allSprites=pygame.sprite.Group(plane)clock=pygame.time.Clock()while 1:pressed=pygame.key.get_pressed()for i in pygame.event.get():if i.type==QUIT or pressed[K_q]:exit()if pressed[K_SPACE]:bullet=Bullet(plane.rect.centerx,plane.rect.centery,image)bullet.shootCount=0allSprites.add(bullet)allSprites.clear(screen,background)allSprites.update()allSprites.draw(screen)pygame.display.flip()if __name__=='__main__':main()I was trying to make shooting game. whenever I press the space key bullet object is called (bold code) . I want delay between iterations to produce the gap between the bullets.Tried the time.wait() but its working. Any Ideas??Thanks In AdvanceRegardsAnkur Aggarwal
- Follow-Ups:
- Re: [pygame] Delay Between iterations
- From: Zack Baker
- References:
- [pygame] Delay Between iterations
- From: ANKUR AGGARWAL
- [pygame] Re: Delay Between iterations
- From: ANKUR AGGARWAL
- Prev by Author: Re: [pygame] Capabilities of Pygame
- Next by Author: Re: [pygame] squeezing a little fun out of java ... meh
- Previous by thread: [pygame] Re: Delay Between iterations
- Next by thread: Re: [pygame] Delay Between iterations
- Index(es):