Links und Funktionen
Sprachumschaltung

Navigationspfad


Inhaltsbereich

Ball.py

Python Source icon ball.py — Python Source, 1 KB (1284 bytes)

Dateiinhalt

from visual import *
from bricks import *

widthr = 14.125+10
heightd = 7.875
widthl = -widthr+20
heightu = -heightd

class ball(frame):
    def __init__(self):
        frame.__init__(self)
        self.body = sphere(frame=self, pos = (-10,0,0), radius=0.2, color = color.white, material = materials.emissive)
        self.v = vector(1,0,0) #Richtungsvektor
        self.speedb = 0.05
        
    def collision(self, player, world):
        if (self.pos.y >= heightd or self.pos.y <= heightu):
            self.v.y = -self.v.y
        if (self.pos.x >= widthr or self.pos.x <= widthl-25):
            self.v.x = -self.v.x
        if (self.x > widthl):
            if (self.v.x<0 and (self.pos.x <= widthl+0.5 and (self.y > player.y-((player.body.height/2)) and self.y < player.y+((player.body.height/2))))):
                self.v.x = -self.v.x
                self.v = self.v + vector(0,((self.pos.y-player.y)*0.2),0)
                self.v = self.v * (1/sqrt((self.v.x)*(self.v.x)+(self.v.y)*(self.v.y)))
        self.pos += self.v * self.speedb

        for brick in world.bricklist:
            if(math.fabs((self.pos.x - 10) - brick.x_) < 0.8 and math.fabs((-self.pos.y) + brick.y_) < 0.8):
                self.v.x = -self.v.x
                brick.hit()
                break

Funktionsleiste