Sorry nevermind. Saw your next email
On Jan 12, 2012, at 12:35 PM, ANKUR AGGARWAL wrote:
> In the last code provided I messed up the Bullet Class Code. Apologies for
> that. Below is my code :
>
> import pygame
> from pygame.locals import *
> import random
> import time
>
> pygame.init()
> screen=pygame.display.set_mode((640,480),0,24)
> pygame.display.set_caption("Hit The Stone")
> background=pygame.Surface(screen.get_size())
> background=background.convert()
> 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=30
> self.rect.centery=screen.get_height()-self.distancefromcenter
> self.dx=2
> self.dy=2
>
> def update(self):
> self.pressed=pygame.key.get_pressed()
> if self.pressed[K_DOWN]:
> self.rect.centery+=self.dy
> elif self.pressed[K_UP]:
> self.rect.centery-=self.dy
> elif self.pressed[K_LEFT]:
> self.rect.centerx-=self.dx
> elif 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=0
>
> if self.rect.centerx>=screen.get_width()-self.distancefromcenter:
> self.rect.centerx=screen.get_width()-self.distancefromcenter
> elif self.rect.centerx<=self.distancefromcenter:
> self.rect.centerx=self.distancefromcenter
>
>
>
>
> class Bullet(pygame.sprite.Sprite):
> def __init__(self,posx,posy,image):
> pygame.sprite.Sprite.__init__(self)
> self.image=image
> self.rect=self.image.get_rect()
> self.rect.center=(posx,posy-30)
> self.dy=5
>
>
>
> def update(self):
> self.rect.centery-=self.dy
> self.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=5
>
>
> def update(self):
> self.rect.centery-=self.dy
> self.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=0
> allSprites.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 <[email protected]>
> wrote:
> import pygame
> from pygame.locals import *
> import random
>
> pygame.init()
> screen=pygame.display.set_mode((640,480),0,24)
> pygame.display.set_caption("Hit The Stone")
> background=pygame.Surface(screen.get_size())
> background=background.convert()
> 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=30
> self.rect.centery=screen.get_height()-self.distancefromcenter
> self.dx=2
> self.dy=2
>
> def update(self):
> self.pressed=pygame.key.get_pressed()
> if self.pressed[K_DOWN]:
> self.rect.centery+=self.dy
> elif self.pressed[K_UP]:
> self.rect.centery-=self.dy
> elif self.pressed[K_LEFT]:
> self.rect.centerx-=self.dx
> elif 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=0
>
> if self.rect.centerx>=screen.get_width()-self.distancefromcenter:
> self.rect.centerx=screen.get_width()-self.distancefromcenter
> elif self.rect.centerx<=self.distancefromcenter:
> self.rect.centerx=self.distancefromcenter
>
>
>
>
> class Bullet(pygame.sprite.Sprite):
> def __init__(self,posx,posy,image):
> pygame.sprite.Sprite.__init__(self)
> if self.shootCount>10:
> self.image=image
> self.rect=self.image.get_rect()
> self.rect.center=(posx,posy-30)
> self.dy=5
> else:
> self.shootCount+=1
>
>
> def update(self):
> self.rect.centery-=self.dy
> self.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=0
> allSprites.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 Advance
>
> Regards
> Ankur Aggarwal
>
>