View difference between Paste ID: tFSUvmWg and mjucDP9D
SHOW: | | - or go back to the newest paste.
1
import pygame
2
import random
3
4
SZEROKOSC_EKRANU = 1024 
5
WYSOKOSC_EKRANU = 800
6
vec = pygame.math.Vector2
7
8
class Kulka(pygame.sprite.Sprite):
9
    def __init__(self):
10
        super(Kulka, self).__init__()
11
        self.obraz = pygame.image.load("images/ball.png")
12
        self.zresetuj_pozycje()
13
        self.r = 16
14
        self.przegrana = False
15
16
    #resetowanie pozycji
17
    def zresetuj_pozycje(self):
18
        self.wspolrzedne = vec(SZEROKOSC_EKRANU/2, WYSOKOSC_EKRANU-140)
19
        self.rect = self.obraz.get_rect(center=self.wspolrzedne)
20
        self.wektor = vec(0, -10)
21
        self.kat_nachylenia = random.randrange(-30, 30)
22
        self.wektor.rotate_ip(self.kat_nachylenia)
23
        self.przegrana = False
24
    
25
    #aktualizacja
26
    def aktualizuj(self, platforma):
27
        self.wspolrzedne += self.wektor
28
        self.rect.center = self.wspolrzedne
29
        self.sprawdz_kolizje(platforma)
30
31
    #sprawdz wszystkie mozliwe kolizje
32
    def sprawdz_kolizje(self, platforma):
33
        #krawędzie ekranu
34
        if self.rect.x <= 0: 
35
            self.wektor.x *= -1
36
        if self.rect.right >= SZEROKOSC_EKRANU:
37
            self.wektor.x *= -1
38
        if self.rect.top <= 0:
39
            self.wektor.y *= -1
40
        if self.rect.bottom >= WYSOKOSC_EKRANU:
41
            self.przegrana = True
42
43
        #kolizja z platformą
44
        if self.rect.colliderect(platforma.rect):
45
            self.wektor.y *= -1
46
            self.wektor.x += platforma.porusza_sie*5
47
            if self.wektor.x < -10: self.wektor.x = -10
48
            if self.wektor.x > 10: self.wektor.x = 10