Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import pygame
- import random
- from pygame.locals import *
- class KittySprite(pygame.sprite.DirtySprite):
- def __init__(self, image_name):
- super(KittySprite, self).__init__()
- self.image = pygame.image.load(image_name)
- self.rect = self.image.get_rect()
- self.dirty = 1
- self.rect.topleft = (0, 0)
- def update(self):
- self.dirty = 1
- def move_to(self, pos):
- self.rect.center = posimport pygame
- import random
- from pygame.locals import *
- class KittySprite(pygame.sprite.DirtySprite):
- def __init__(self, image_name):
- super(KittySprite, self).__init__()
- self.image = pygame.image.load(image_name)
- self.rect = self.image.get_rect()
- self.dirty = 1
- self.rect.topleft = (0, 0)
- def update(self):
- self.dirty = 1
- def move_to(self, pos):
- self.rect.center = pos
- self.dirty = 1
- class BulletSprite(pygame.sprite.DirtySprite):
- def __init__(self, start, speed):
- super(BulletSprite, self).__init__()
- self.image = pygame.Surface((8, 30))
- self.rect = self.image.get_rect()
- self.dirty = 1
- self.rect.center = start
- self.speed = speed
- self.color = (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255))
- self.image.fill(self.color)
- self.framescolored = 0
- def update(self):
- self.rect.y -= self.speed
- if self.rect.top < 0:
- self.kill()
- if self.framescolored < 10:
- self.image.fill(self.color)
- else:
- self.image.fill((0, 0, 0))
- self.framescolored = 0
- self.framescolored += 1
- def run_game(surf, sprite_group, bullets, kitty_sprite, clock):
- while True:
- events(sprite_group, kitty_sprite, bullets)
- update(sprite_group, bullets)
- render(surf, sprite_group, bullets)
- clock.tick(30)
- pygame.init()
- clock = pygame.time.Clock()
- pygame.mouse.set_visible(False)
- window_surface = pygame.display.set_mode((640, 480))
- spr_group = pygame.sprite.GroupSingle()
- kitty = KittySprite('kitten.png')
- spr_group.add(kitty)
- bullets = pygame.sprite.RenderUpdates()
- def events(sprite_group, kitty_sprite, bullets):
- for event in pygame.event.get():
- if event.type == QUIT:
- pygame.quit()
- elif event.type == MOUSEMOTION:
- kitty_sprite.move_to(event.pos)
- elif event.type == MOUSEBUTTONUP:
- bull = BulletSprite(kitty_sprite.rect.center, 10)
- bullets.add(bull)
- def update(sprite_group, bullets):
- sprite_group.update()
- bullets.update()
- def render(surf, sprite_group, bullets):
- surf.fill((255, 255, 255))
- sprite_group.draw(surf)
- bullets.draw(surf)
- pygame.display.flip()
- run_game(window_surface, spr_group, bullets, kitty, clock)
- self.dirty = 1
- class BulletSprite(pygame.sprite.DirtySprite):
- def __init__(self, start, speed):
- super(BulletSprite, self).__init__()
- self.image = pygame.Surface((8, 30))
- self.rect = self.image.get_rect()
- self.dirty = 1
- self.rect.center = start
- self.speed = speed
- self.color = (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255))
- self.image.fill(self.color)
- self.framescolored = 0
- def update(self):
- self.rect.y -= self.speed
- if self.rect.top < 0:
- self.kill()
- if self.framescolored < 10:
- self.image.fill(self.color)
- else:
- self.image.fill((0, 0, 0))
- self.framescolored = 0
- self.framescolored += 1
- def run_game(surf, sprite_group, bullets, kitty_sprite, clock):
- while True:
- events(sprite_group, kitty_sprite, bullets)
- update(sprite_group, bullets)
- render(surf, sprite_group, bullets)
- clock.tick(30)
- pygame.init()
- clock = pygame.time.Clock()
- pygame.mouse.set_visible(False)
- window_surface = pygame.display.set_mode((640, 480))
- spr_group = pygame.sprite.GroupSingle()
- kitty = KittySprite('kitten.png')
- spr_group.add(kitty)
- bullets = pygame.sprite.RenderUpdates()
- def events(sprite_group, kitty_sprite, bullets):
- for event in pygame.event.get():
- if event.type == QUIT:
- pygame.quit()
- elif event.type == MOUSEMOTION:
- kitty_sprite.move_to(event.pos)
- elif event.type == MOUSEBUTTONUP:
- bull = BulletSprite(kitty_sprite.rect.center, 10)
- bullets.add(bull)
- def update(sprite_group, bullets):
- sprite_group.update()
- bullets.update()
- def render(surf, sprite_group, bullets):
- surf.fill((255, 255, 255))
- sprite_group.draw(surf)
- bullets.draw(surf)
- pygame.display.flip()
- run_game(window_surface, spr_group, bullets, kitty, clock)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement