コード例 #1
0
    def update(self):
        # --- circle movement ---
        # if self.angle <= 6.25:
        #     self.rect.centerx = self.radius * math.sin(self.angle) + self.center_x
        #     self.rect.centery = self.radius * math.cos(self.angle) + self.center_y
        #     self.angle += self.circle_speed

        # self.speed_y = math.sin(self.rect.x / 36) * 25
        # constant movement
        self.rect.y += self.speed_y
        self.rect.x += self.speed_x
        # --- V MOVEMENT ---
        # if self.rect.center >= (WIDTH/2, HEIGHT/2):
        #     self.speed_x = -self.speed
        # if self.rect.x < 0 and self.rect.y > HEIGHT:
        #     self.speed_x = self.speed
        #     self.rect.center = (-self.rect.width, -self.rect.height)
        #     self.color = Colors.random_color(self.color)
        #     self.image.fill(self.color)
        # --- SQUARE MOVEMENT ---
        # if self.rect.right == WIDTH:
        #     self.speed_x = 0
        #     self.speed_y = -self.speed
        # if self.rect.top == 0:
        #     self.speed_x = -self.speed
        #     self.speed_y = 0
        # if self.rect.left == 0:
        #     self.speed_x = 0
        #     self.speed_y = self.speed
        # if self.rect.bottom == HEIGHT and self.rect.right != WIDTH:
        #     self.speed_x = self.speed
        #     self.speed_y = 0
        # --- BOUNCING ---
        if self.rect.right >= WIDTH or self.rect.left <= 0:
            self.speed_x *= -1
            self.color = Colors.random_color(self.color)
            self.image.fill(self.color)
        if self.rect.bottom >= HEIGHT or self.rect.top <= 0:
            self.speed_y *= -1
            self.color = Colors.random_color(self.color)
            self.image.fill(self.color)