| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- # Example file showing a circle moving on screen
- # Example file showing a circle moving on screen
- import pygame
- # pygame setup
- pygame.init()
- screen = pygame.display.set_mode((720, 720))
- clock = pygame.time.Clock()
- running = True
- dt = 0
- raketa = pygame.sprite.Sprite()
- raketa.original_image = pygame.image.load("raketa.png").convert_alpha()
- raketa.original_image = pygame.transform.scale(raketa.original_image, (60, 60))
- raketa.image = raketa.original_image
- raketa.rect = raketa.image.get_rect(center=(360, 360))
- angle = 0
- wall2 = pygame.sprite.Sprite()
- wall2.image = pygame.Surface((20, 200))
- wall2.image.fill("blue")
- wall2.rect = wall2.image.get_rect(topleft=(100,300))
- wall3 = pygame.sprite.Sprite()
- wall3.image = pygame.Surface((20, 300))
- wall3.image.fill("green")
- wall3.rect = wall3.image.get_rect(topleft=(200,500))
- wall = pygame.sprite.Sprite()
- wall.image = pygame.Surface((500, 20))
- wall.image.fill("red")
- wall.rect = wall.image.get_rect(topleft=(360, 300))
- everything = pygame.sprite.Group([raketa, wall, wall2, wall3])
- player_pos = pygame.Vector2(screen.get_width() / 2, screen.get_height() / 2)
- velocity = pygame.Vector2(0,0)
- acceleration = 500
- while running:
- # poll for events
- # pygame.QUIT event means the user clicked X to close your window
- for event in pygame.event.get():
- if event.type == pygame.QUIT:
- running = False
- raketa.rect.center = player_pos
-
- # fill the screen with a color to wipe away anything from last frame
- screen.fill("purple")
- raketa.image = pygame.transform.rotate(raketa.original_image, angle)
- raketa.rect = raketa.image.get_rect(center=raketa.rect.center)
- everything.draw(screen)
- keys = pygame.key.get_pressed()
- if keys[pygame.K_w]:
- velocity.y -= acceleration * dt
- angle = 0
- if keys[pygame.K_s]:
- velocity.y += acceleration * dt
- angle = 180
- if keys[pygame.K_a]:
- velocity.x -= acceleration * dt
- angle = 90
- if keys[pygame.K_d]:
- velocity.x += acceleration * dt
- angle = 270
- player_pos += velocity * dt
- if pygame.sprite.collide_rect(raketa, wall):
- print("bonk")
- if pygame.sprite.collide_rect(raketa, wall2):
- print("bonk")
- if pygame.sprite.collide_rect(raketa, wall3):
- print("bonk")
- # flip() the display to put your work on screen
- pygame.display.flip()
- # limits FPS to 60
- # dt is delta time in seconds since last frame, used for framerate-
- # independent physics.
- dt = clock.tick(60) / 1000
- pygame.quit()
|