Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import pygame
- import math
- WIDTH = 480
- class Ball(pygame.sprite.Sprite):
- def __init__(self, x, y, radius, color, speed_x, speed_y):
- #pygame.sprite.Sprite.__init__(self)
- super().__init__()
- self.color = color
- self.radius = radius
- #создаю прозрачнй прямоугольник 30х30, который будет прямоугольником мяча
- self.image = pygame.Surface((radius * 2, radius * 2), pygame.SRCALPHA)
- #накладываю на этот прозрачный квадрат (он теперь хранится в self.image) круг
- pygame.draw.circle(self.image, self.color, (radius, radius), radius)
- self.rect = self.image.get_rect(center = (x, y))
- #self.clock = pygame.time.Clock()
- self.x = x
- self.y = y
- self.speed_x = speed_x
- self.speed_y = speed_y
- #self.image = pygame.image.load(filename).convert_alpha()
- #self.rect = self.image.get_rect(center = (x, y))
- def update(self, screen):
- self.x = self.x + self.speed_x #cчитаю новые координаты
- self.y = self.y + self.speed_y
- if self.x > WIDTH - self.radius: #расписываю отталкивание от правой стены
- self.x = self.x - self.speed_x
- self.speed_x = -self.speed_x
- if self.x < self.radius: #расписываю отталкивание от левой стены
- self.x = self.x + self.speed_x
- self.speed_x = abs(self.speed_x)
- if self.y < self.radius: #расписываю отталкивание от потолка (если там
- self.y = self.y + self.speed_y #все кирпичи закончились, чтобы не улетел)
- self.speed_y = abs(self.speed_y)
- self.rect = self.image.get_rect(center=(self.x, self.y)) #отрисовываю
- screen.blit(self.image, self.rect)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement